捕获桌面,而不是活动桌面



(c/win32)

我正在使用 http://msdn.microsoft.com/en-us/library/windows/desktop/dd183402(v=vs.85).aspx来捕获当前桌面。他们使用: GetDC(空);

以获取正在运行的桌面。假设我有几个桌面(例如,使用 sysinternal 的 desktop 工具)。我以为我可以使用OpenDesktop,然后在GetDC中使用手柄,但它只是给了我一张黑色的照片。是否有其他方法可以捕获当前工作站中的其他桌面(当然是在当前会话中)?

OpenDesktop()返回一个HDESKGetDC()需要一个HWND

首先尝试调用SetThreadDesktop(),以便您的线程与目标桌面关联,然后再次尝试GetDC(NULL)

最新更新