介绍:
鼠标连点器就是用来代替你的手在电脑上不停的点击电脑, 介绍完毕!
有什么用?
爱打游戏吗? 喜欢刷等级的同学收藏了, 睡一觉就满级了. 让他自己在电脑上不停的点点点.
我系渣渣辉, 挂机一整晚......
2. 在工作学习中, 你是不是有许多网上的东西要学, 是你必须学的, 其实就是你要不停的点点点,
这个时候它的作用就不用我说了吧, 专治各种网上挂时长.
3. 看过直播的都知道, 有些给主播送礼物的土豪为了表达心意, 送上几千甚至几万的礼物, 这时候就要不停的点击屏幕, 不能停下来, 不然礼物的特效就会终断, 鼠标连点器的作用有点强大啊.
小编推荐一个学 C 语言 / C++ 的学习裙[ 七三零, 一三零, 二二一 ] , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
功能与原理
功能: 仅限鼠标左键, 点击频率 0.01-1000 次 / 秒,(个人觉得点击速度太低和太高都用不上), 点击次数可选, 点击位置可以锁定, 支持重复上一次的运行设定.
原理:
引入头文件 windows.h , 调用几个 API
1.GetAsyncKeyState 获取键盘信息, 判断某个键是否按下, 使得程序无论处于什么状态都能响应
2.mouse_event 模拟鼠标的点击(按下和弹起)
3.GetCursorPos 获取鼠标当前的位置
4.SetCursorPos 将鼠标移动到指定位置
代码
- #include
- #include
- #include
- POINT curpos;// 鼠标的位置
- float i;// 点击速度
- int j;// 点击次数
- int a=0,b=0;// 储存鼠标坐标
- void selectrate(void);// 选择点击速度, 次数
- void click(int i,int j);// 开始点击
- int main()
- {
- system("mode con cols=25 lines=10");// 窗口大小
- system("title 源世界. Dracula 出品");
- // 简单说明
- printf("1. 这是一个鼠标连点器, 操作异常简单. 2. 空格键开始, 暂停, 继续 3.ESC 键重新开始 4. 点击的位置为鼠标的位置. 5.CTRL 键锁定, 解锁位置");
- while(1)
- {
- printf("按空格键开始");
- selectrate();
- system("cls");// 清屏
- printf("频率 %.2f 次 / 秒 次数 %d 次 空格键 开始 暂停 继续 ESC 键 重新开始 CTRL 键 锁定 解锁位置",
- 1000/i,j);
- click(i,j);
- }
- return 0;
- }
- void selectrate(void)
- {
- while(1)
- {
- Sleep(200);
- if(GetAsyncKeyState(VK_SPACE))
- {system("cls");
- printf("请输入点击频率 n 次 / 秒 (0.01< n <=1000)");
- scanf("%f",&i);
- i=(int)(1000/i);
- printf("请输入点击次数 x 次 ( 0 表示无限次)");
- scanf("%d",&j);
- j=j==0?1000000000:j;// 用一个极大的数表示无限
- break;}
- }
- }
- void click(int i,int j)
- {
- while(1)
- {
- if(GetAsyncKeyState(VK_SPACE))
- {
- int k=j;
- printf("运行");
- while(k--)// 点击次数
- {
- if(a&&b)SetCursorPos(a,b);
- mouse_event(MOUSEEVENTF_LEFTDOWN,curpos.x,curpos.y,0,0);
- mouse_event(MOUSEEVENTF_LEFTUP,curpos.x,curpos.y,0,0);
- Sleep(i);
小编推荐一个学 C 语言 / C++ 的学习裙[ 七三零, 一三零, 二二一 ] , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
- // 锁定目标位置
- if(GetAsyncKeyState(VK_CONTROL))
- {
- if(a&&b)
- {a=0;b=0;
- printf("解除锁定");}
- else
- {GetCursorPos(&curpos);
- a=(int)curpos.x;
- b=(int)curpos.y;
- printf("位置锁定 %d %d",a,b);}
- }
- if(GetAsyncKeyState(VK_SPACE))
- {
- printf("暂停");
- // 接收到信号才继续执行
- while(1)
- {
- if(GetAsyncKeyState(VK_SPACE))
- {printf("继续");
- break;}
- Sleep(200);
- if(GetAsyncKeyState(VK_ESCAPE))
- {printf("重新开始");
- return ;}
- }
- }
- if(GetAsyncKeyState(VK_ESCAPE))
- {printf("重新开始");
- return ;}
- }
- printf("按空格键再来一次");
- while(1)
- {
- if(GetAsyncKeyState(VK_SPACE))
- break;
- Sleep(200);
- if(GetAsyncKeyState(VK_ESCAPE))
- {printf("重新开始");
- return ;}
- }
- }
- Sleep(250);
- }
- }
效果截图:
操作
按键只有三个, Space 键, Ctrl 键和 Esc 键.
Space 键控制开始, 暂停, 继续. 若点击次数有限且点击结束后, 按 Space 键可以重复一轮点击.
Ctrl 键控制位置的锁定和解锁.(仅在点击过程中有效)
Esc 键则是重新开始设定点击频率和次数.
小编推荐一个学 C 语言 / C++ 的学习裙[ 七三零, 一三零, 二二一 ] , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
总结:
代码简单, 主要是判断语句和循环语句, 适宜小白借鉴 可修改性强, 喜欢的弄个 GUI 啊, 图标啊什么的都行, 自定义按键, 多点控制也不是问题
实用, 比某些几个 M 大的软件好多了(就一个鼠标连点器还这么大, 怕不是有后门)
自己写的, 看得见摸得着, 用的放心. 贯彻极简风格, 舍弃 GUI(因为用不着), 代码量 100 行.
这些是 C/C++ 能做的
来源: http://www.jianshu.com/p/638b20ac5c4c