GetDesktopWindow() 和 HWND_DESKTOP 的区别

5

有一个win32 api函数,GetDesktopWindow(),它返回桌面窗口的句柄。

还有一个- HWND_DESKTOP 宏。我在MSDN中找不到官方信息,但是可以在WinUser.h中找到。

#define HWND_DESKTOP        ((HWND)0)

那么,它们有什么区别呢?
1个回答

8

HWND_DESKTOP仅用于MapWindowRect(),以指示使用屏幕坐标,如MSDN所述。您会注意到它的值等于NULL,在那里也有列出。我猜想HWND_DESKTOP是先出现的。

当然,真实的窗口不能为NULL,因此HWND_DESKTOP不是桌面窗口的句柄。虽然我不知道你可以用它做什么好事情,但获取桌面窗口的句柄的正确方法是使用该函数。

(值得一提的是,GetDesktopWindow()的示例使用返回的句柄在屏幕上定位对话框框。我不知道当前的首选项是否改为使用当前监视器的工作区域...)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接