C++侧键激活的随机间隔鼠标连点器

#include <Windows.h>
#include <thread>
#include <random>
#include<iostream>
bool g_is_clicking = false;
int mintime = 100;
int maxtime = 200;
void click_thread() {
    while (true) {
        if (g_is_clicking) {
            //使用mouse_event函数发送鼠标事件
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            if (maxtime > mintime) {
                std::random_device rd;
                std::mt19937 gen(rd());
                std::uniform_int_distribution<> dis(mintime, maxtime);
                int sleep_time = dis(gen);
                // std:: cout << sleep_time << std::endl;
                Sleep(sleep_time);
            }
            else {
                Sleep(mintime);
            }
        }
        Sleep(10);
    }
}
void OpenQuickEdit() {                              //如果你想要在其他项目中使用快速编辑模式,请调用一次此函数来恢复控制台
    DWORD fdwMode = ENABLE_QUICK_EDIT_MODE;
    HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
    SetConsoleMode(hStdin, fdwMode);
}
int main() {
    std::cout << "请输入连点间隔的最小值";
    std::cin >> mintime;
    std::cout << "请输入连点间隔的最大值";
    std::cin >> maxtime;
    if (mintime > maxtime) {
        int temp = maxtime;
        maxtime = mintime;
        mintime = temp;
    }
    if (mintime < 1 || mintime>1000000000 || maxtime < 1 || maxtime>1000000000) {
        std::cout << "输入范围不合法";
        return 0;
    }
    DWORD fdwMode = 0;
    HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
    SetConsoleMode(hStdin, fdwMode);                //关闭控制台快速编辑模式,防止造成鼠标侧键检测的不灵敏
    std::thread click_t(click_thread);
    click_t.detach();

	while (true) {
		if (GetKeyState(VK_XBUTTON1) & 0x8000) {
			std::cout << "VK_XBUTTON1 Click" << std::endl;
			g_is_clicking = !g_is_clicking;
			   //     if (g_is_clicking) {                                         // 如果你想要在开启或者关闭的时候播放音频,请下载WinMM.Lib库,并且将open.mp3放到与程序同级的目录下,并且记得将项目属性中的配置属性/高级属性/字符集改为多字节字符集
						//mciSendString("open  open.mp3 alias open", NULL, 0, 0);
						//mciSendString("play open from 0", NULL, 0, 0);
			   //     }
			   //     else {
			   //         mciSendString("open  close.mp3 alias close", NULL, 0, 0);
			   //         mciSendString("play close from 0", NULL, 0, 0);
			   //     }
			Sleep(200);
		}
        Sleep(10);
	}
    return 0;
}

直接复制到visual studio中(我用的是visual studio 2022),是可以直接用的。

然后根据自己的需求微调一下就可以了。

这是我的成品

链接:https://pan.baidu.com/s/1Q_3w66EVEZMP7uuHgYAxlA?pwd=tg8a

提取码:tg8a

如果你对我找的开启/关闭音频不满意,可以自己找一个开启/关闭音频,然后取相同的名字,就可以了

C++侧键激活的随机间隔鼠标连点器 - 知乎 (zhihu.com)

知乎上的这篇文章作者也是我,我把它转到CSDN上来

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值