GetDesktopWindow()和HWND_DESKTOP之间的区别

时间:2014-11-02 04:31:17

标签: winapi

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

又有一个 - HWND_DESKTOP宏。我无法在MSDN中找到官方信息,但它在WinUser.h中找到了

#define HWND_DESKTOP        ((HWND)0)

那么,它们之间的区别是什么?

1 个答案:

答案 0 :(得分:7)

HWND_DESKTOP仅由MapWindowRect()用于指示使用屏幕坐标as documented on MSDN。你会注意到它的值等于NULL,它也在那里列出。我猜测HWND_DESKTOP排在第一位。

当然,有效窗口不能为真,因此HWND_DESKTOP不是桌面窗口的句柄。虽然我不知道你可以用它做任何真正的好事,但获得桌面窗口的正确方法是使用该功能。

(对于它的价值,GetDesktopWindow()的示例使用返回的句柄在屏幕上放置一个对话框。我不知道当前的首选项是使用当前监视器的工作区而是... )