(c/win32)
我正在使用 http://msdn.microsoft.com/en-us/library/windows/desktop/dd183402(v=vs.85).aspx来捕获当前桌面。他们使用: GetDC(空);
以获取正在运行的桌面。假设我有几个桌面(例如,使用 sysinternal 的 desktop
工具)。我以为我可以使用OpenDesktop
,然后在GetDC
中使用手柄,但它只是给了我一张黑色的照片。是否有其他方法可以捕获当前工作站中的其他桌面(当然是在当前会话中)?
OpenDesktop()
返回一个HDESK
但GetDC()
需要一个HWND
。
首先尝试调用SetThreadDesktop()
,以便您的线程与目标桌面关联,然后再次尝试GetDC(NULL)
。