选中需要群发的分组上面的组别,复制需要群发的内容,运行程序。
key_event() 一个模拟按键的函数
FindWindow()获取某一个窗口句柄
GetForegroundWindow()获取当前活动窗口
#include <stdio.h>
#include <Windows.h>
void PressKey(BYTE vkey)
{
keybd_event(vkey, 0, 0, 0);
Sleep(50);
keybd_event(vkey, 0, KEYEVENTF_KEYUP, 0);
Sleep(50);
}
void SendMsg()
{
//粘贴语言
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(0x56, 0, 0, 0);
keybd_event(0x56, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
//发送
PressKey(VK_RETURN);
//关掉对话框
PressKey(VK_END);
}
int main()
{
HWND hwnd;//定义一个窗口句柄
HWND fronthwnd;
int errortimes = 0;//记录没有打开的次数
while (1) {
hwnd = FindWindow(L"TxGuiFoundation", L"QQ");//获取某一个窗口句柄
//hwnd = (HWND)0x0002066A;
//MoveWindow(hwnd, 300, 300,450,600,true);
//将QQ设为当前的活动窗口
fronthwnd = GetForegroundWindow();//获取当前活动窗口
if (hwnd != fronthwnd)
{
if (!SetForegroundWindow(hwnd))//设置为当前活动窗口
{
break;
}
}
//已经找到并设置qq为活动窗口
//模拟按键
//keybd_event();//是一个模拟按键的函数
/*
虚拟键 VKEY_TAB VK_SPACE VK_LEFT VK_DOWN VK_SHIFT
0
模拟健的动作 按下0 弹起KEYEVENTF_KEYUP
0
*/
//TAB按下
PressKey(VK_TAB);
PressKey(VK_TAB);
while (errortimes<5)//连续5次没有打开 结束程序
{
PressKey(VK_DOWN);
PressKey(VK_RETURN);
fronthwnd = GetForegroundWindow();
if (hwnd != fronthwnd)//QQ主界面不是活动窗口
{
SendMsg();
errortimes = 0;
break;
}
else
{
errortimes++;
if (errortimes >= 5) break;
}
}
}
printf("发送完毕!");
return 0;
}