3
如何检查Win32窗口指针是否是有效的.Net控件?如何检查Win32窗口指针是否是有效的.Net控件?
如何检查Win32窗口指针是否是有效的.Net控件?如何检查Win32窗口指针是否是有效的.Net控件?
我打算假设,通过“Win32 Window指针”,你的意思是一个hWnd。
你可以调用Control.FromChildHandle()提供你的hWnd作为参数。如果hWnd与.NET控件相关联,那么您将收到一个对表示控件的.NET控件的引用,作为返回值。如果hWnd不与.NET控件相关联,那么您将收到一个返回值为null的值。
伪代码如下:
Control AssociatedDotNetControl =
Control.FromChildHandle(Win32WindowPointerAshWnd);
if(AssociatedDotNetControl != null)
{
// this is a .NET control
}
else
{
// this is not a .NET control
}
短,聪明! – 2009-09-02 15:10:40
如果hWnd来自其他程序,这是否工作? – 2009-09-03 00:49:03
马特,我没有具体尝试,但我猜测它确实会工作。 – JeffFerguson 2009-09-03 20:23:06