2009-09-02 58 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