117.C语言实现桌面输出图片,桌面输出文字,桌面画线

通过获取窗口句柄,然后获取窗口DC,然后画图

  1 #include <Windows.h>
  2 #include <stdio.h>
  3 
  4 //桌面画线
  5 void drawLine()
  6 {
  7     //获取控制台窗口
  8     //HWND hwnd = GetConsoleWindow();
  9     //获取输出
 10     //HDC hdc = GetDC(hwnd);
 11     //获取桌面窗口
 12     HWND hwnd = GetDesktopWindow();
 13     //获取输出
 14     HDC hdc = GetWindowDC(hwnd);
 15     HPEN hpen = CreatePen(PS_SOLID, 2, RGB(255, 255, 255));
 16     SelectObject(hdc, hpen);//选中笔
 17     while (1)
 18     {
 19         LineTo(hdc, 10, 10);
 20         Sleep(20);
 21         LineTo(hdc, 100, 100);
 22         Sleep(20);
 23         LineTo(hdc, 100, 300);
 24         Sleep(20);
 25         LineTo(hdc, 600, 300);
 26         Sleep(20);
 27         LineTo(hdc, 900, 300);
 28         Sleep(20);
 29         LineTo(hdc, 900, 900);
 30     }
 31     
 32 
 33     system("pause");
 34 }
 35 
 36 //桌面或者控制台显示图片
 37 void drawPic()
 38 {
 39     //获取控制台窗口
 40     //HWND hwnd = GetConsoleWindow();
 41     //获取输出
 42     //HDC hdc = GetDC(hwnd);
 43     //获取桌面窗口
 44     HWND hwnd = GetDesktopWindow();
 45     //获取输出
 46     HDC hdc = GetWindowDC(hwnd);
 47     HBRUSH brush = CreateSolidBrush(RGB(255, 0, 0));
 48     SelectObject(hdc, brush);//选中笔
 49     while (1)
 50     {
 51         Rectangle(hdc, 50, 50, 400, 400);
 52         Sleep(20);
 53     }
 54     system("pause");
 55 
 56 }
 57 
 58 //桌面输出文字
 59 void drawText()
 60 {
 61     HWND hwnd = GetDesktopWindow();
 62     HDC hdc = GetWindowDC(hwnd);
 63     SetTextColor(hdc, RGB(0, 0, 255));
 64     //设置背景
 65     SetBkColor(hdc, RGB(255, 0, 0));
 66 
 67     while (1)
 68     {
 69         HFONT hfont, hfontold;
 70         hfont = CreateFontA(
 71             180,
 72             140,
 73             0,
 74             0,
 75             FW_REGULAR,
 76             FALSE,
 77             FALSE,
 78             FALSE,
 79             GB2312_CHARSET,
 80             OUT_DEFAULT_PRECIS,
 81             CLIP_DEFAULT_PRECIS,
 82             PROOF_QUALITY,
 83             FIXED_PITCH | FF_MODERN,
 84             "隶书"
 85         );
 86         
 87         //选择字体
 88         hfontold = SelectObject(hdc, hfont);
 89         //在区域输出文字
 90         /*RECT rctext;
 91         rctext.left = 10;
 92         rctext.top = 10;
 93         rctext.right = 800;
 94         rctext.bottom = 800;
 95         DrawTextA(hdc, "桌面文字输出测试", strlen("桌面文字输出测试"), &rctext, DT_CENTER);*/
 96         TextOutA(hdc, 0, 0, "桌面文字输出测试", strlen("桌面文字输出测试"));
 97         SelectObject(hdc, hfontold);
 98         Sleep(100);
 99     }
100 }
101 
102 void main()
103 {
104     //drawPic();
105     //drawLine();
106     drawText();
107     system("pause");
108 }

 

  • 桌面绘图
     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <windows.h>
     4 
     5 void main()
     6 {
     7     HWND hwnd = GetConsoleWindow();
     8     HDC hdc = GetDC(hwnd);
     9     //创建兼容DC
    10     HDC memdc = CreateCompatibleDC(0);
    11     //载入位图
    12     HBITMAP bit = LoadImageA(hwnd, "C:\\Users\\Administrator\\Desktop\\1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
    13     //位图有兼容DC绑定
    14     SelectObject(memdc, bit);
    15     //兼容DC与hdc绑定
    16     BitBlt(hdc, 0, 0, 300, 300, memdc, 0, 0, SRCCOPY);
    17 
    18     system("pause");
    19 }

     

posted @ 2018-03-07 23:18  喵小喵~  阅读(2639)  评论(0编辑  收藏  举报