#include "stdafx.h"int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
  // TODO: Place code here.
HDC hdc;
HWND hwnd;
hwnd=GetDesktopWindow();//得到桌面窗口句柄
hdc=GetDC(hwnd);
    MoveToEx(hdc,0,0,NULL); 
LineTo(hdc,180,562); 
LineTo(hdc,23,232); return 0;
}
//我想在桌面上画几个线,为什么不可以?
//希望帮我改一下,
//或说明一相原因

解决方案 »

  1.   

    // TODO: Place code here.
    HDC hdc;
    hdc=GetDC(NULL);
             MoveToEx(hdc,0,0,NULL); 
    LineTo(hdc,180,562); 
    LineTo(hdc,23,232);         ReleaseDC(NULL, hdc);
    return 0;
      

  2.   

    HDC hdc=GetDC(NULL);即为桌面DC,直接用该hdc绘图即可
      

  3.   

    如果要在桌面上画图的话,不能用hdc=GetDC(hwnd);这是得到客户区的设备句柄,而你需要的是整个屏幕的句柄,所以把这句改为hdc=CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL);就可以了,当然楼上的方法也可以。
      

  4.   

    HDC hdc=GetDC(NULL);即为桌面DC,直接用该hdc绘图即可
      

  5.   

    CWindowDC dc(GetDesktopWindow());
    dc.MoveTo(....);
    dc.LineTo(....);
      

  6.   

    pomelowu(羽战士) 说的对
    结贴
      

  7.   

    TO lxb365:
    你说的方法也很对,我已经试过了