zoukankan      html  css  js  c++  java
  • VC++ 实现简单的桌面截图

      使用了EasyX图像库,使用方法请参考:VC++ 制作一个简易的控制台时钟应用

      简单的桌面截图代码:

    //////////////////////////////////////////////////////////////////////////
    // 程序名称:实现屏幕桌面的简单截图
    // 编译环境:Visual Studio,EasyX_20151015(beta)
    // 作    者:shuai.qiao@wellintech.com
    // 创建日期:2016-11-24
    // 项目类型:Win32 Application
    //////////////////////////////////////////////////////////////////////////
    
    // 头文件
    #include <graphics.h>
    
    // 函数声明
    void DesktopCapture(IMAGE *pimg);
    
    // 主函数
    int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    {
        IMAGE img;                                            // 定义IMAGE对象
        DesktopCapture( &img );                               // 调用抓取桌面图像的函数
        initgraph(1440, 900);                                 // 创建绘图窗口(根据实际屏幕调整)
        putimage(0, 0, &img);                                 // 在窗口中显示 IMAGE 中保存的桌面图像
    
        while(!(GetAsyncKeyState(VK_ESCAPE) & 0x8000))        // 按ESC键退出
            Sleep(20);
    
        closegraph();
        return 0;
    }
    
    // 抓取桌面图像到 *pimg 对象中
    void DesktopCapture(IMAGE *pimg)
    {
        // 通过 Windows API 获取桌面的宽高
        int scale = 1;                                        // 缩放比例(1:全屏)
        int w = GetSystemMetrics(SM_CXSCREEN) / scale;
        int h = GetSystemMetrics(SM_CYSCREEN) / scale;
    
        Resize(pimg, w, h);    
        HDC srcDC = GetDC(NULL);                            // 获取桌面 DC
        HDC dstDC = GetImageHDC(pimg);                      // 获取 IMAGE 对象的 DC
        BitBlt(dstDC, 0, 0, w, h, srcDC, 0, 0, SRCCOPY);    // 在两个 DC 之间执行图像拷贝,将桌面抓图拷贝到 IMAGE 对象里面  
    }

      运行效果:

  • 相关阅读:
    StructuredStreaming整合Kafka
    StructuredStreaming-Sink
    ValueError: max() arg is an empty sequence
    StructuredStreaming
    学习进度报告08
    SparkSQL+Hive
    SparkSQL花式查询
    RDD-DF-DS相互转换
    SparkSQL学习
    学习进度报告07
  • 原文地址:https://www.cnblogs.com/MakeView660/p/6102391.html
Copyright © 2011-2022 走看看