使用了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(, ); // 创建绘图窗口(根据实际屏幕调整)
putimage(, , &img); // 在窗口中显示 IMAGE 中保存的桌面图像 while(!(GetAsyncKeyState(VK_ESCAPE) & 0x8000)) // 按ESC键退出
Sleep(); closegraph();
return ;
} // 抓取桌面图像到 *pimg 对象中
void DesktopCapture(IMAGE *pimg)
{
// 通过 Windows API 获取桌面的宽高
int scale = ; // 缩放比例(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, , , w, h, srcDC, , , SRCCOPY); // 在两个 DC 之间执行图像拷贝,将桌面抓图拷贝到 IMAGE 对象里面
}

  运行效果:

VC++ 实现简单的桌面截图的更多相关文章

  1. C# - VS2019通过重写pictureBox实现简单的桌面截图功能

    前言 通过创建客制化组件(继承pictureBox),新增属性和构造方法,实现屏幕截图时需要用到的功能点.再通过监控鼠标按下.移动和释放,来获取起始点区域.最后通过操作BMP图像,实现截图的新增.修改 ...

  2. VC++编写简单串口上位机程序

    VC++编写简单串口上位机程序   转载: http://blog.sina.com.cn/s/articlelist_1809084904_0_1.html VC++编写简单串口上位机程序 串口通信 ...

  3. msf客户端渗透(四):关闭UAC,hash、防火墙、服务、磁盘、DEP、防病毒、远程桌面、桌面截图、获取tooken

    关闭UAC 如果你获得一个system权限的session 进入到这个session 进入到shell 依次输入以下命令 cmd.exe /k %windir%\System32\reg.exe AD ...

  4. Snip for Mac(桌面截图工具)安装

    1.软件简介    Snip 一款用于桌面截图的工具. 2.资源列表 链接 提取密码 系统要求 软件语言 Snip for Mac v2.0 (5771) fgab macOS 10.6.8 及以上 ...

  5. VC Windows API获得桌面所有窗口句柄的方法

    VC Windows API应用之GetDesktopWindow ——获得桌面所有窗口句柄的方法 Windows API Windows 这个多作业系统除了协调应用程序的执行.分配内存.管理资源…之 ...

  6. MFC/VC CxImage 简单配置与使用 (完整版)

    如果本篇文章还不能解决你在生成解决方案以及便宜过程中的问题 请参阅: http://blog.csdn.net/afterwards_/article/details/7997385 我个人配置过来成 ...

  7. windows最简单的局部截图工具

    大家写博客的时候应该经常要用截图吧!不知道大家用的都是什么截图工具. 1.最开始我只会键盘的printscreen截图,然后去电脑,附件,画图....总之很多步骤,贼麻烦. 2.然后用电脑玩qq的时候 ...

  8. 如何用Qt Python创建简单的桌面条形码应用

    Qt for Python可以快速跨平台的GUI应用.这篇文章分享下如何结合Dynamsoft Barcode Reader SDK来创建一个简单的读码应用. 安装Qt for Python 官方站点 ...

  9. VC++ 一个简单的Log类

    在软件开发中,为程序建立Log日志是很必要的,它可以记录程序运行的状态以及出错信息,方便维护和调试. 下面实现了一个简单的Log类,使用非常简单,仅供参考. // CLogHelper.h : hea ...

随机推荐

  1. Android 高清加载巨图方案 拒绝压缩图片

    Android 高清加载巨图方案 拒绝压缩图片 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/49300989: 本文出自:[张 ...

  2. Windows phone应用开发[18]-下拉刷新

    在windows phone 中采用数据列表时为了保证用户体验常遇到加载数据的问题.这个问题普遍到只要你用到数据列表就要早晚面对这个问题. 很多人会说这个问题已经有解决方案. 其实真正问题并不在于如何 ...

  3. 教你一招:Win10切换输入法与Win7一样(Ctrl + 空格)

    对于win10的朋友,大部分人对输入法都不习惯,如果你把英语输入法删除了,在中文输入法里没有美式键盘,让ctrl+空格与ctrl+Shift都能在搜狗输入法和美式键盘切换.下面小编就教你怎么让Win1 ...

  4. raw_input和input的区别

    raw_input的返回类型是String类型 input的返回类型是int类型 >>> rawinput = raw_input("raw_input:") r ...

  5. 数据结构图文解析之:直接插入排序及其优化(二分插入排序)解析及C++实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

  6. Linux快速体验

    目录结构: /:根目录,根目录下一般只存放子目录,不存放文件./bin: 存放可执行的二进制文件,如常用的命令ls. tar.mv. cat等./boot: 存放linux系统启动时需要的一些文件./ ...

  7. Kakfa重连测试

    在Kafak已启动的情况下: 发送端首次连接大概耗时400毫秒.后续消息发送都在1毫秒以下. 接收端首次连接大概耗时400-7000毫秒.后续消息接收都在1毫秒以下.(具体时间与topic中存留的消息 ...

  8. Java Web编程技术学习要点及方向

    学习编程技术要点及方向亮点: 传统学习编程技术落后,应跟著潮流,要对业务聚焦处理.要Jar, 不要War:以小为主,以简为宝,集堆而成.去繁取简 Spring Boot,明日之春(future of ...

  9. linux中给PHP安装mongodb的扩展

    centos5.6 32bit php 5.2.17 php安装路径 /usr/local/php phpize路径 /usr/bin php-config路径 /usr/bin php.ini路径 ...

  10. EmguCV(OpenCV)实现高效显示视频(YUV)叠加包括汉字

    视频处理中,往往需要在上面增加文字包括汉字英文字母数字标点等,Emgu.CV/opencv 绘图 线面文字包括中文 这篇里也有相关介绍,但是这篇里根据逐像素修改rgb值的方法效率太低 查了很多资料,基 ...