我使用CreateDesktop创build新的桌面,并希望获得它的DC和RC。
RECT deskRC; HDC deskDC; HDESK hNewDesktop = CreateDesktop(...); GetWindowRect(hNewDesktop, &deskRC); deskDC = GetDC(hNewDesktop);
这只返回0。 有什么问题? 或者,也许还有另一种获得这些价值的方法。
PS:桌面正常创build。
还有一个问题:
谢谢。 我遇到了另一个问题,这次是DC。
HDESK hNewDesktop = CreateDesktop("text_here", NULL, NULL, 0, GENERIC_ALL, NULL); SetThreadDesktop(hNewDesktop); SwitchDesktop(hNewDesktop); HWND deskHW = GetDesktopWindow(); GetWindowRect(deskHW, &deskRC); deskDC = GetWindowDC(deskHW);
deskDC是不正确的:((用原来的testing,这是好的,我用它来绘制的东西)
不知道这次有什么错。
GetWindowRect和GetDC与Windows一起工作; 桌面不是一个窗口。 您可以尝试通过SwitchDesktop切换到桌面,然后通过GetDesktopWindow获取窗口; 不要忘记切换回到以前的桌面。