最近发现好多次打开QQ仅仅想用它来截屏 ⊙﹏⊙b汗
不如自己来写一个截屏工具,集成到自己的小工具箱里面
动手之前考虑一下要怎么实现,我考虑过的方案大概有下面两种 :
1. 监控全局鼠标事件 (真是“初生牛犊不怕虎“ ~~o(>_<)o ~~ )。
2. 将窗口设置为屏幕大小(去掉标题栏),设置窗口背景透明(这个时候窗口不就是我们的屏幕了么哈哈),然后用mouseEvent来获取鼠标事件(连全局鼠标监控都省了)。
最终栽在了背景透明的实现上。(透明后窗口是黑的)
最后受到第二种方法启发,想到一种简单的方法:先截取全屏,将窗口设置为屏幕大小(去掉标题栏),将窗口背景设置为刚才截取的图片,然后在上面用用mouseEvent来获取鼠标事件,完成截屏。
头文件 SreenShoot.h
#ifndef SCREENSHOOT_H
#define SCREENSHOOT_H
#include
#include
// 用于创建一个橡皮筋选框
#include
// 动态显示截图区域尺寸
#include
// 用当前系统时间动态生成截图的文件名
#include
// 用来截取全屏 #include
// 用于获取屏幕尺寸 #include
#include
// 对话框的调色板,用于将图片设置为窗体背景 #include
// 重载用于获取鼠标事件 #include
// 配合上面的
用于存储文件名 #include
// 调用win32API #include
// 用于储存图片对象 #include
// 用于获取当前程序目录,得到截图的路径 #include
//配合
用系统浏览器打开图片 #include
// 删除文件 class ScreenShoot : publ