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