打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
不上QQ 使用QQ截图工具~ 测试OK版!常来复制的高手免进!
-很喜欢QQ自带的截图功能、所以希望不上QQ也可以使用、想抽离出来……
-在网上海搜一圈、发现有个方法很普遍:
QQ的截图工具功能强大、使用方便,美中不足的是只有启动QQ以后才能使用,难道截图时还要先打开QQ吗?可在很多场合上网很不方便,如果能将QQ的截图功能提取出来就可以了。
第一步:打开QQ的安装目录,如“D:\Program Files\Tencent\QQ”,找到QQ的安装目录下的CameraDll.dll文件,这个文件就是与QQ截图有关的文件。将其复制到“D:\QQ截图”文件夹下(或复制到任意位置,但以下注册表代码部分必须与CameraDll.dll文件路径对应)。
第二步:打开记事本,输入以下内容:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\QQ]
@="QQ截图---Less零生活"
[HKEY_CLASSES_ROOT\Folder\shell\QQ\command]
@="Rundll32.exe D:\\QQ截图\\CameraDll.dll,CameraSubArea"
然后将其另存为“QQ截图.reg”。
第三步:双击运行“QQ截图.reg”,将其导入注册表。以后只需右键单击任务栏上的“开始”按钮,在出现的右键菜单中选择“QQ截图”命令,就可以调出QQ截图工具了。
-我按照以上方法做了之后、先后弹出了两个错误对话框:
点开始右键--弹出右健菜单--出现QQ截图--点QQ截图出现:
对话框1 没有找到QQBaseclassInDll.dll,因为这个应用程序未能启动,重新安装应用程序可能会修复此问题。下面有个确定。点确定又出现对话框2
对话框2 加载D:\QQ截图\cameraDll.dll时出错,找不到指定的模块。点确定,对话框消失。
-接着我把QQBaseclassInDll.dll复制到QQ截图文件夹内、右键-开始-还是弹错误“少了个QQhelp.dll类似的文件”、彻底崩溃……
-我想可能是因为我使用的QQ版本的原因、
-后来在网上看到的一篇文章证明我的想法是正确的、
-我现在使用的QQ版本是QQ2009正式版、cameraDll.dll是8.0版本、
-于是去网上下载了一个旧版的QQ2006、提取cameraDll.dll 、【旧版cameraDll.dll下载
-替换掉原来的8.0文件、再次试验>成功!唯一的缺点是不支持ctrl+alt+A快捷键- -
-----------------------------------------------------------------------------------------------------------------
不过现在有个方法可以建立一个快捷键
1.在桌面的任意位置右击-选择“新建→快捷方式”,
2.打开“创建快捷方式”窗口,在其文本框内输入
【Rundll32.exe D:\QQ截图\CameraDll.dll,CameraSubArea】(输入括号内的内容,注意路径!)
单击“下一步”,将该快捷方式的名称命名为“QQ截图”,再单击“完成”按钮。
注意: CameraSubArea是区分大小写的
右击“QQ截图”快捷方式,选择“属性”,打开“QQ截图属性”窗口,切换到“快捷方式”选项卡,这时按下一组快捷键,如“Ctrl+Shift+S(或任意字母,建议不要使用A,否则会干扰你现有版本的QQ,导致QQ上的截图工具不能通过快捷键调出来)”,最后单击“确定”。
试试看,按下“Ctrl+Shift+S”快捷键,QQ截图工具是不是已经调出来了?
-现在问题是 新建的快捷方式必须在桌面上才有效,所以继续思考中……看能不能放到其他地方去。。
更新:
[现在这个问题已经解决了:原来快捷方式只有在"桌面"或者"开始"菜单上的时候才可以指定有效的快捷键,并用快捷键来调用程序,所以我将快捷方式放在了【C:\Documents and Settings\Administrator\「开始」菜单】下,注意:一定要注销或者重新启动一下电脑才会生效!之后便可以使用快捷键ctrl+shift+s调出截图程序啦,同时桌面上也不会有难看的快捷方式图标~]
-我有这样一个疑问:为什么新版的QQ就不可以使用cameraDll.dll 文件了呢?
-以我的智商还解释不了、不过网上有个高手解释了一下这个问题、
------------------------------------------------------------------------------------------------------------------------------
以下摘自http://blog.csdn.net/nightxie/archive/2008/08/18/2790103.aspx
既然要弄CameraDll.dll那就从头弄起。看看CameraSubArea这个函数。用Depends看了看这个函数的地址0x10B0。OK,去看看那,于是看到了这里的东西:
601311BB |. 8BC6          mov     eax, esi
601311BD |. 5E            pop     esi
601311BE |. 64:890D 00000>mov     dword ptr fs:[0], ecx
601311C5 |. C9            leave
601311C6 \. C2 0400       retn    4
好,看情况 DWORD CameraSubArea(DWORD) 这样就可以了。
于是我写了Demo:
#include <stdio.h>
#include <windows.h>
typedef int (__stdcall *CAMERASUBAREA)(int a);
void main()
{
Sleep(1000);
HMODULE hHandle = LoadLibrary("CameraDll.dll");
if (NULL == hHandle)
{
MessageBox(NULL,"error","LoadLibrary Failed",MB_OK);
return;
}
CAMERASUBAREA pCameraSubArea = (CAMERASUBAREA)GetProcAddress(hHandle,"CameraSubArea");
if (NULL == pCameraSubArea)
{
MessageBox(NULL,"error","LoadLibrary Failed",MB_OK);
FreeLibrary(hHandle);
return;
}
pCameraSubArea(0);
FreeLibrary(hHandle);
}
运行以后,系统提示需要QQBaseClassInDll.dll。好吧,在QQ里拷贝一份QQBaseClassInDll.dll进去。再运行,有提示需要QQHelperDll.dll和BasicCtrlDll.dll,继续加入他们。
可是,运行后还是出现问题。Debug一下发现[eax + 4D]这句,而eax的值为0。也就是说要取0x04D的值,而我们知道4GB的内存中0到0x1000都是空指针区,自然会出错。
于是NOP掉这个Call。运行程序后发现截图已经没问题了,但是截图中的工具栏却还是一个都不能用。即然这样,那就继续Debug一下。发现了QQHelperDll.dll中的问题。和前面的问题一样,都是访问了空指针,NOP。而后面还有两处这样的问题,用NOP和JMP的方法都成功的解决了。
再次调用程序,OK已经恢复正常了。其实程序一开始无法使用都是因为他调用了BasicCtrlDll.dll中的GetCurrentUserData这个函数,在传参数出了问题。
最后的工作就是写一个完整的程序了。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
怎么提取QQ2008的截图功能!!
不开QQ也要用QQ截图功能的方法
不开QQ也能进行QQ截图
用Python实现电脑截屏的三个实例 | 一聚教程网
提取QQ截屏功能的方法
Windows8关机,重启等快捷键设置方法(原创)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服