捕获桌面,然后是活动桌面

时间:2013-09-24 20:39:58

标签: winapi screenshot gdi

(C / win32)中

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

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

1 个答案:

答案 0 :(得分:2)

OpenDesktop()会返回HDESK,但GetDC()需要HWND

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