最近手头空闲了,就将以前写的代码给整理了下,并且移植至VS2010下。由于之前硬盘崩溃过一次,很多写过的代码都丢了,这个是残存在邮箱中的一个副本,整理出来然后放出来供大家交流。
这个工具是用来取屏幕中某一点的颜色,也就是得到这一点颜色的具体的RGB的值。
因为需要hook鼠标move的消息,而且是全屏,所以需要使用全局钩子,也就是要将钩子功能写成动态链接库dll,
另外,因为我们需要得到某一点的颜色的值,所以很多时候我们得使用放大镜这个功能,而且MFC提供了CColorDialog功能类,这样我们就可以方便的提供调色板功能。很多截图软件所使用的也是同样的原理。
当时看了一点动态获取版本号的东西,所有这里面还有动态获取版本号的接口函数,就不细说了。
本工具纯属个人以前写着玩的,可能存在这样或那样的不足,欢迎交流原理性的东西,不欢迎纯问问题或编程风格类的交流。
开发环境:Win7 + VS2010(MFC)
废话少说,先上图,在上代码。
第一张是主界面,第二张是调色板界面,第三张是取色界面
主要代码马上就要列出来了,先说一下,代码中有很多注释,所以贴代码就不讲代码了
主界面的相关代码如下:
放大镜启动mouse hook的代码
放大镜放大部分代码
还有个子放大区域的代码,和整个差不多,就不整了
鼠标hook的关键代码
以上的代码就是此工具的关键点,涉及到钩子的安防,放大镜的实现。欢迎大家索要代码并交流。
此文章首发于http://blog.youkuaiyun.com/sdoat/archive/2011/03/21/6263912.aspx,转帖请注明作者与来源。
不欢迎不标明转帖,故索要全部代码的童鞋请留言,或发邮件至 sdoat#163.com #换成@,同时标明来源,谢谢。
先放个bin档供大家玩玩。点此下载bin档