得到DC&来自新桌面的RC

时间:2010-04-07 14:44:11

标签: windows winapi gdi

我使用CreateDesktop创建新桌面,并希望得到它的DC& RC。

   RECT deskRC;
   HDC deskDC;
   HDESK hNewDesktop = CreateDesktop(...);

   GetWindowRect(hNewDesktop, &deskRC);
   deskDC = GetDC(hNewDesktop);

这只返回0。 有什么问题?或许还有另一种方法可以获得这些价值观。

P.S。:桌面正常创建。

还有一个问题:

感谢。我这次遇到了另一个问题,就是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不正确:((用原版测试,它没关系;我用它来画画)

这次不知道出了什么问题。

1 个答案:

答案 0 :(得分:1)

GetWindowRect和GetDC适用于Windows;桌面不是窗口。您可以尝试通过SwitchDesktop切换到桌面,然后通过GetDesktopWindow获取其窗口;不要忘记切换回上一个桌面。