如何从桌面的句柄中获取Form对象?

时间:2011-08-17 18:39:29

标签: c# .net visual-studio-2010 desktop hwnd

我想知道是否有可能获得桌面的表格。我试图从桌面获取hWnd并使用Form.FromHandle来获取表单。但它总是返回null。所以我认为这是不可能的;如果有可能,有人可以给我看一个示例代码。 以下代码不起作用:

 hWnd = GetDesktopWindow();
 desktop = Form.FromHandle(hWnd) as Form;
 System.Diagnostics.Debugger.Break();

P.S。有人也可以解释我在这里做错了什么。

1 个答案:

答案 0 :(得分:6)

您无法执行此操作,因为桌面窗口不是Form FromHandle()尝试查找与给定窗口句柄对应的托管Control(在本例中为Form)。由于不存在此类Control,因此会返回null