qq2013 sp1 去广告方法及代码
qq右上角和左下角两个广告我只能说烦的要命,最近的TM2013都有广告了。不过TM2013去广告的方法已经有了,可以百度到,还比较方便。但是QQ2013更好看嘛。
重装qq,装完qq后,删除个人文件夹,就是那个名字是自己qq号的文件夹。不要运行不要登录。直接去QQ安装文件夹下删除Plugin\Com.Tencent.Advertisement\Bundle.rdb并新建一个文件夹叫Bundle.rdb
就成了,在QQ2013新春版(6692)测试成功,不会弹出qq损坏。
同样的方法也可以把QQ秀上经常出现的广告删掉Plugin\Com.Tencent.QQShow\Bundle.rdb
删除个人文件夹会损失一些信息,主要是聊天记录和自定义表情,所以最好是打包存档,并且把自定义表情
CustomFace,CustomFace.dbc,CustomFace.db保存下来,登陆后放到新的个人文件夹内。
依旧有人说就算这样,还是会弹出提示说qq损坏。(本人长时间测试都没有弹出)但是弹出的提示窗你不去点确定,就不会关QQ,因此我们隐藏提示窗即可。采用MFC对话框程序,自动检索,自动隐藏。基本思想是设定一个定时器,如一秒执行一次。枚举窗口,遇到窗口内容为“提示”之后打开进程枚举模块,然后获得模块路径对比确认是QQ的路径即可。注意要#include psiapi.h。有必要的话还要添加psiapi.lib(部分win7或更低系统)
我这里提供了编译后的程序,不过只对QQ装在D:\QQ的有用,如果你想用的话就要重装一下QQ改变一下位置了哟。
关闭qq的时候在右下角点退出,尽量不要直接点右上角的框,会弹网页,可以用taskkill /IM:QQ.exe /f来强制关闭
需要VC++ 2010运行库
本来有GetWindowModuleFileName这个方法,看起来更方便,不过只能在95和98中用。
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam) { CHAR caption[200]; CHAR path[200]; ::GetWindowText(hwnd, caption, 200); if(strcmp("提示",caption)==0) { DWORD pid; HANDLE pHandle; CHAR path[200]; HMODULE hModule; ::GetWindowThreadProcessId(hwnd, &pid); pHandle = OpenProcess(PROCESS_QUERY_INFORMATION |PROCESS_VM_READ, FALSE, pid); // if(pHandle==NULL) return 0; EnumProcessModules(pHandle,&hModule,sizeof(hModule),NULL); GetModuleFileNameEx(pHandle,hModule,path,200); CloseHandle(pHandle); if(strcmp("D:\\QQ\\bin\\QQ.exe",path)==0) ShowWindow(hwnd,SW_HIDE); } return TRUE; } void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime) { ::EnumWindows(EnumWindowsProc,NULL); }