QQ
抓图功能的提取
一直以来,我都觉得
QQ
的抓图功能做的非常好。特别是在我写文档时,一次又一次的“
Print Screen
”,一次又一次的“
mspaint
”让我不胜其烦,“
Ctrl+Alt+A
”
(
腾讯
QQ
抓图快捷键
)
给了我不小的帮助。有时我想,能不能把
QQ
的抓图功能提取出来?这样的话,不用登陆
QQ
也可以使用其抓图功能,这样会大大方便那些不能上网的人。网上一搜,果然“有法可依”。
QQ2006
的安装目录下,有一个名叫
CameraDll.dll
的动态库,它有一个导出函数
CameraSubArea
,
QQ
的抓图功能就是由这个函数实现的。我们可以这么使用这个函数:
打开一个文本文件,输入:
rundll32.exe CameraDll.dll CameraSubArea
,
将它保存为一个
.bat
文件,然后把它和
CameraDll.dll
放到同一个目录,运行这个批处理就可以使用抓图功能了。
然而我们发现,这样来使用其抓图功能有点麻烦,因为每次都要点击那个批处理文件,那有没有简单的办法呢?办法是有的,那就是给这个批处理文件创建一个快捷方式,然后给这个快捷方式指定一个快捷键,这样一来,每次点击相应的快捷键时,就可以进行抓图操作了。
我们可以看到,上面的方案,需要用到三个文件才能解决问题,这样容易出问题,万一哪个人不小心把其中一个文件给删除了,就用不了了。那有没有办法只用一个文件搞定所有问题?当然可以,下面要讲的就是。
使用
VC
创建一个程序,把
CameraDll.dll
当做资源导进去,在需要的时候把它释放出来,然后调用其中的函数就可以了。代码本就简单,此处就不再多费口舌。还有其它一些方便的特性,譬如最小化时拖盘显示譬如开机自动运行譬如自定义快捷键等等,程序中并没有加入,有兴趣的朋友可以自行增加。全部代码提供下载
QQ抓图功能提取源代码
注
1
:下面的代码已经使用
ATL
进行完全的重写,因为已经找不到以前的代码。另外,程序中使用的抓图的动态库,也不是上面所说的
QQ2006
中的