如上!

解决方案 »

  1.   

    你得到的桌面的DC虽然有效,但是因为在桌面上面还有很多的其他的窗口,在桌面进行更新的时候,你画的东西就不会存在了,其实可以使用另外一种方法,在桌面上创建一个透明的窗口,使用Layered风格, 这样你就可以得到一个透明的窗口,你可以在上面随便画。
      

  2.   

    你用::GetDC(NULL)取得一个HDC,好象可以。
      

  3.   

    用LockWindowUpdate(HWND)锁定桌面更新.
      

  4.   

    我是这样弄的:
    hwnd pwnd=::getdesktopwindow();
    hdc dc=::getdc(pwnd);
    再画!
    不行,急死五了!!!
      

  5.   

    CWnd *pWnd = GetDesktopWindow();
    CPaintDC dc(pWnd);
    dc.moveto(...);
    dc.lineto(...);
      

  6.   

    CWnd* pwnd;
    pwnd=GetDesktopWindow(); CWindowDC dc(pwnd);
    dc.moveto(...);
    dc.lineto(...);
    if(GetSafeHwnd() && dc)
    ReleaseDC(&dc);
      

  7.   

    对,应该用Window DC(GetWindowDC).
      

  8.   

    用CreateDC,第一个参数:"Desktop"应该是可以的。
      

  9.   

    何解非用CWINDOWDC()不可?此函数与其它DC构造函数有何区别?