2009-09-02 63 views

回答

4

我打算假设,通过“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 
} 
+0

短,聪明! – 2009-09-02 15:10:40

+0

如果hWnd来自其他程序,这是否工作? – 2009-09-03 00:49:03

+0

马特,我没有具体尝试,但我猜测它确实会工作。 – JeffFerguson 2009-09-03 20:23:06