当前位置:编程学习 > 网站相关 >>

自己制作QQ挂级小工具

随着QQ新增了等级制度,许多网友都热衷于“挂级”(就是让QQ长时间在线以获得更多在线时间),期待星星变月亮,月亮变太阳。网上也出现了一些挂级工具,其实原理很简单。QQ上线时间只要超过35秒,腾讯就计为上线一分钟。所以只要上线35秒后离线,然后再上线,就比正常计时节约了20秒左右,即二小时可以得到三小时的在线时长,如此往复就达到了加速成的目的。本着DIY的精神我也做了个挂级小工具。
    编程思路:点击QQ托盘图标,在弹出的菜单中可以看到有"上线"和"离线"两项菜单,只要在间隔时间内自动点击"上线"和"离线"菜单就可以达到目的。点击需要用到 SendMessage函数。但使用的前提是知道窗口的句柄和参数。通过VC的SPY++工具可以得到窗口的类名“#32770”,在程序中用findwindowex函数来查找它,并返回窗口的句柄。再利用SPY++工具找到入口参数。通过发送消息 给目标窗口句柄即可,
    程序设计:新建一个应用程序工程,窗体Form1作为主窗体,caption属性为“挂级”。在窗体上添加一个spinedit控件,并设置其属性: "increment" 属性为"1";"max"属性为"60";"min"属性为"30"。添加一个时钟控件,并将属性INTERVAL的值设置为1000(即1秒),再添加一个Label控件、其caption属性设为“时间间隔”。最后再添加两个按钮控件,设置caption属性分别为“开始”和“结束”。
    编写代码:在这里只列出了核心代码
             function GetQQWnd: HWND;
            var
              hCurrentWindow: HWnd;
               szclass:array[0..254]of char;
            begin
              hCurrentWindow := GetWindow(Application.Handle, GW_HWNDFIRST);
              while hCurrentWindow <> 0 do
              begin
                 Getclassname(hCurrentwindow,@szclass,255) ;
                   if Strpas(@szclass)=#32770then
                   begin
                    if findwindowex(hCurrentwindow,0,Tencent_QQToolBar,nil)>0 then
                        begin
                        Result:=hCurrentWindow;
                          Exit;
                        end;
                    end;
                hCurrentWindow := GetWindow(hCurrentWindow, GW_HWNDNEXT);
              end;
              Result:=0;
            end;
            procedure TForm1.Timer1Timer(Sender: TObject);
            begin
               if getqqwnd=0 then exit;
                 SendMessage(getqqWnd,WM_command,13203,0);
                  SendMessage(getqqWnd,WM_command, 13200,0);
            end;
    按F9运行一下程序吧!先设置一下时间间隔,间隔时间可以根据电脑性能来设置。再点击“开始”按钮开始看看效果如何。希望你能把星星早日变成太阳。
    本程序在Windows 98/Xp,Delphi6.0下调试通过。源代码下载:http://family.chinaok.com/down/200513/code.rar(吉林 空乐)

来源:IT家园

补充:综合编程 , 安全编程 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,