如何从桌面句柄获取窗体对象?

本文关键字:窗体 对象 获取 句柄 桌面 | 更新日期: 2023-09-27 18:05:59

我想知道是否有可能获得桌面的Form。我试着从桌面上拿出来使用Form。FromHandle获取表单。但它总是返回null。所以我认为这是不可能的;如果它是可能的,可以有人告诉我一个例子代码。下面是无法工作的代码:

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

注:谁能解释一下我哪里做错了?

如何从桌面句柄获取窗体对象?

您不能这样做,因为桌面窗口不是Form FromHandle()试图找到与给定窗口句柄对应的被管理的Control(在本例中为Form)。由于不存在这样的Control,它返回null