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);
}
原文地址:https://www.cnblogs.com/zhangzheng/p/2882127.html