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