实现微信对话框中刷屏,还可以在微信朋友圈评论中刷屏,可自行调整刷屏间隔(速度)
源代码:
#include <windows.h>
#include <stdio.h>
#include <string.h>
void clickAt(int x, int y) {
SetCursorPos(x, y); // 移动鼠标到指定位置
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); // 按下鼠标左键
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // 松开鼠标左键
}
void pasteString(const char* str) {
// 将字符串复制到剪贴板
OpenClipboard(NULL);
EmptyClipboard();
// 计算字符串长度并分配内存
size_t len = strlen(str) + 1;
HGLOBAL hGlob = GlobalAlloc(GMEM_MOVEABLE, len);
memcpy(GlobalLock(hGlob), str, len);
GlobalUnlock(hGlob);
// 将内存句柄设置到剪贴板
SetClipboardData(CF_TEXT, hGlob);
CloseClipboard();
// 模拟 Ctrl+V 粘贴
keybd_event(VK_CONTROL, 0, 0, 0); // 按下 Ctrl
keybd_event(0x56, 0, 0, 0); // 按下 V
keybd_event(0x56, 0, KEYEVENTF_KEYUP, 0); // 松开 V
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); // 松开 Ctrl
// 模拟回车键
keybd_event(VK_RETURN, 0, 0, 0); // 按下回车
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0); // 松开回车
}
void waitForAltKey(int* x, int* y) {
printf("请按下 Alt 键锁定位置并开始刷屏\n正在等待您的操作...\n");
while (1) {
// 检查 Alt 键是否被按下
if (GetAsyncKeyState(VK_MENU)) {
// 获取当前鼠标位置
POINT p;
GetCursorPos(&p);
*x = p.x; // 保存鼠标 x 坐标
*y = p.y; // 保存鼠标 y 坐标
printf("目标位置: (%d, %d)\n", *x, *y);
break;
}
Sleep(100); // 每 100 毫秒检查一次
}
}
int main() {
char textToPaste[256]; // 用于存储用户输入的文本
int x = 0, y = 0; // 用于存储鼠标坐标
printf("微信朋友圈刷屏:首先输入需要发送的字符串,然后将鼠标移动到朋友圈的评论上面按下 Alt 键开始发送,开始后不要随意操作鼠标和键盘,按下 F1 键可返回到监听 Alt 键的状态。\n");
// 要求用户输入要粘贴的字符串
printf("请输入需要发送评论的内容: ");
fgets(textToPaste, sizeof(textToPaste), stdin);
// 去掉字符串末尾的换行符
textToPaste[strcspn(textToPaste, "\n")] = 0; // 移除换行符
// 等待用户按下 Alt 键并获取鼠标位置
waitForAltKey(&x, &y);
// 执行点击和粘贴操作,直到用户按下 ESC 键
printf("刷屏中... 按 ESC 键返回到监听状态。\n");
while (1) {
clickAt(x, y); // 点击获取的鼠标位置
pasteString(textToPaste); // 粘贴字符串
// 检查 ESC 键是否被按下
if (GetAsyncKeyState(VK_F1)) {
printf("返回到监听 Alt 键状态...\n");
waitForAltKey(&x, &y); // 重新等待 Alt 键并获取新的鼠标位置
printf("继续刷屏... 按 F1 键返回到监听状态。\n");
}
Sleep(1); // 避免CPU占用过高
}
return 0;
}