Winapi GetDesktopWindow()和HWND_桌面之间的差异

Winapi GetDesktopWindow()和HWND_桌面之间的差异,winapi,Winapi,有一个win32 api函数,它返回桌面窗口的句柄 还有另一个-HWND\u桌面macro。我在MSDN中找不到官方信息,但它在WinUser.h中找到 #define HWND_DESKTOP ((HWND)0) 那么,它们之间有什么区别呢?HWND\u DESKTOP仅由MapWindowRect()用于指示使用屏幕坐标。您会注意到它的值等于NULL,这里也列出了它。我猜HWND_桌面排在第一位 当然,有效窗口不能为空,因此HWND_DESKTOP不是桌面窗口的句柄。虽然我不

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

还有另一个-
HWND\u桌面
macro。我在MSDN中找不到官方信息,但它在WinUser.h中找到

#define HWND_DESKTOP        ((HWND)0)

那么,它们之间有什么区别呢?

HWND\u DESKTOP
仅由
MapWindowRect()
用于指示使用屏幕坐标。您会注意到它的值等于NULL,这里也列出了它。我猜
HWND_桌面
排在第一位

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

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