无聊,写了个刷QQ时间的小工具


按照QQ现在的算法: 30sec < 上线时间 < 1min
每30秒给QQ发送下线,然后在上线的消息达到刷时间的效果(这里我只写了隐身登陆,一般也是用隐身,否则好友非把你杀了不可..)

首先用SPY++查出QQ上线,下线和隐身的消息:
上线: WINDOWS 发送 WM_COMMAND 消息给QQ, wParam参数为 0x00003390 , lParam为0
下线: WINDOWS 发送 WM_COMMAND 消息给QQ, wParam参数为 0x00003393 , lParam为0
隐身: WINDOWS 发送 WM_COMMAND 消息给QQ, wParam参数为 0x00003392 , lParam为0

查找QQ登陆以后主窗口的方法:
1. 用EnumWindows枚举窗口,判断窗口的类名是否为"#32770",如果是则用FindWindowEx查找窗口下是否存在类名为"Tencent_QQBar"的子窗口,如果存在则说明为QQ
2. 用GetTopWindow得到最顶的那个窗口,然后GetNextWindow一个一个找是否有类名为"Tencent_QQBar"的子窗口
还有很多其他方法

现在得到了QQ的句柄,也知道发送什么样的消息,建立定时器,SendMessage吧.

程序代码:


#include <windows.h>
#include "resource.h"

#define LEN 100
#define ID_TIMER 1

#define QQ_ONLINE 0x00003390
#define QQ_STEALTH 0x00003392
#define QQ_OFFLINE 0x00003393

HWND hqqWnd;

BOOL CALLBACK DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
 char sTime[LEN];
 switch(message)
 {
 case WM_INITDIALOG:
  SetDlgItemText(hDlg, IDC_EDIT_TIME, "35");
  return TRUE;
  break;
 case WM_TIMER:
  SendMessage(hqqWnd, WM_COMMAND, (WPARAM)QQ_OFFLINE, 0);
  SendMessage(hqqWnd, WM_COMMAND, (WPARAM)QQ_STEALTH, 0);
  break;
 case WM_COMMAND:
  switch(LOWORD(wParam))
  {
  case IDC_START:
   GetDlgItemText(hDlg, IDC_EDIT_TIME, sTime,LEN);
   SetTimer(hDlg, ID_TIMER, atoi(sTime)*1000, NULL);
   SendMessage(hDlg, WM_TIMER, 0, 0);
   break;
  case IDC_STOP:
   KillTimer(hDlg, ID_TIMER);
   break;
  case IDCANCEL:
   KillTimer(hDlg, ID_TIMER);
   EndDialog(hDlg, 0);
   return TRUE;
  }
  break;
 }
 return FALSE;
}

BOOL CALLBACK SearchQQ(HWND hwnd, LPARAM lParam)
{
 char className[LEN] = {0};
 GetClassName(hwnd, className, LEN);
 if(strcmp(className, "#32770") == 0)
 {
  if(FindWindowEx(hwnd, NULL, "Tencent_QQBar", NULL))
  {
   hqqWnd = hwnd;
   return FALSE;
  }
 }
 return TRUE;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
 /*另外一种查找QQ窗口句柄的方法,不知道和EnumWindows比谁效率高...
 hqqWnd = GetTopWindow(NULL);
 while(hqqWnd = GetNextWindow(hqqWnd, GW_HWNDNEXT))
 {
  if(FindWindowEx(hqqWnd, NULL, "Tencent_QQBar", NULL))
   break;
 }
 */
 EnumWindows(SearchQQ, 0);
 if(hqqWnd==NULL)
 {
  MessageBox(NULL, "没有找到QQ,请确认是否开启QQ!", "没找到QQ,退出", MB_OK);
  return 0;
 }
 DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAINDLG), NULL, DlgProc);
 return 0;
}

这样就写好了一个刷时间的工具.
不过试了下,好象没什么效果了,估计被腾讯把这个设定改了

最后的程序是这样的:



对话框ID为 IDD_MAINDLG
开始按钮ID为 IDC_START
停止按钮ID为 IDC_STOP
文本框ID为 IDC_EDIT_TIME, 初值为35

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值