达到工业使用质量级别的类似于QQ截屏的软件
2024-10-12 23:39:53
到网上查找截屏发现基本都是一些小孩子的初级玩意,功能强大一点的又没有源代码所以自己花了三四天时间写了一个能达到工业使用质量级别的截图控件。
优点:1、代码量小只有1500行代码 2、结构清晰简单极易于理解 3、扩展性强,如:用widget类很容易制作工具条UI等扩展界面
效果:
其基本的功能有:
1、截屏
2、窗体自动识别
3、截图信息提示
4、放大镜
5、八个方向点改变截屏框
6、鼠标可拖动截屏框位置
7、快捷键
A、left、left、up、down改变截图框位置
B、(ctrl)+ (left、left、up、down)以1的速度改变截屏框大小
d、(ctrl)+(shift)+ (left、left、up、down)以5的速度改变截屏框大小
e、滚轮以20的速度改变截屏框大小
f、(shift)+滚轮以40的速度改变截屏框大小
g、回车截屏,esc退出
具体使用技术:
1、位图操作
2、窗口识别
3、图形叠加与透明
4、反走样画图、画线算法
应用方法:
此工具封装为简单的DLL形式,只有一个入口方法:
SCREENSHOT_API int fnScreenshot(void);
只要调用一下fnScreenshot函数,就可以进入截屏功能,成功会返回1并将截取图形放入windows剪贴板,取消返回0。
int _tmain(int argc, _TCHAR* argv[])
{
typedef int (*PfnScreenshot)(void);
PfnScreenshot PSH;
HMODULE HMod = LoadLibraryA("Screenshot.dll");
if (HMod)
{
PSH = (PfnScreenshot)GetProcAddress(HMod,"fnScreenshot");
if (PSH&&PSH())
{
printf("已经将截取图形放入剪贴板。");
}
FreeLibrary(HMod);
}
return 0;
}
由于参考并使用了很多技术牛人的代码,所以此代码也不敢私藏,现在开源发布出来供大家参考使用。
License:Licensed under the Apache License, Version 2.0 (the "License");
源码下载:
http://download.csdn.net/detail/feiren127/6833025
最新文章
- css3中动画(transition)和过渡(animation)详析
- PMP--综合考试知识点,持续更新中。。。
- Windows Azure HDInsight 使用技巧
- dede自定义表单增加添加时间怎么弄
- CentOS云服务器数据盘分区和格式化
- InputFormat,OutputFormat,InputSplit,RecordRead(一些常见面试题),使用yum安装64位Mysql
- 4 hbase表结构 + hbase集群架构及表存储机制
- 对Ul下的li标签执行点击事件——如何获取你所点击的标签
- 升级python的sqlite库版本
- Effective C++:条款25:考虑写出一个不抛异常的swap函数
- python学习笔记(一)之入门
- 【转载】解决nginx负载均衡的session共享问题
- 洛谷 P1983 车站分级
- 【安富莱二代示波器教程】第17章 附件B---功能扩展和改进方向
- 浅谈spring为什么推荐使用构造器注入
- Node.js性能分析神器Easy-Monitor
- 20155219 2016-2017-2 《Java程序设计》第8周学习总结
- 在C#中使用.NET SDK创建控制
- Android 为何比 iOS 卡?【转载】
- Form_通过FND_FNDFLUPL标准功能上传CSV控件(案例)