Re:连点器
2024-09-06 19:01:23
连点器
介绍
顾名思义,可以连续点的机器。
当然,连续可快可慢;机器意味着不许要人工点击;可以是生活中的机器,也可以是电脑中的程序。
现在,连点器网上一搜一大堆,什么鼠标连点精灵,鼠大侠……不仅有电脑的,还有安卓系统的。
但是,用这些软件,我很不放心。说不定就有什么木马病毒呢……
再说,我们这些coder都不喜欢那些总是误报的杀软,测试程序时等了十几秒结果弹出个“危险木马程序”的警告,所以(我)在code时一般是不开360等杀软的。
那怎么办呢?
既然我们是coder,那么这种程序应该用我们的双手亲手写下吧!(当然你要Ctrl+C&Ctrl+V我也没办法……)
Code0
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<windows.h>
using namespace std;
#define IL inline
#define RE register POINT curpos;//鼠标的位置
float i;//点击速度
int j;//点击次数
int a=,b=;//贮存鼠标坐标
bool fast,inf; IL void selectrate()//选择点击速度、次数
{
while()
{
system("cls");
printf("由于windows的最小计时单位为毫秒,故输入大于1000的数字将会被转化为1000,输入0会…会失去等待时间!\n请输入点击频率 n 次/秒\n(0.01< n <=1000)\n");
cin>>i;
if(i==) fast=;
i=(int)(/i);
printf("请输入点击次数 x 次\n( 0 暗示无限次)\n");
cin>>j;
if(j==) inf=;
break;
}
} IL void click(int i,int j)
{
while()
{
if(GetAsyncKeyState(VK_SPACE))
{
RE int k=j;
if(inf) k=-;
printf("运行\n");
while(k--)//点击次数
{
if(a&&b)SetCursorPos(a,b);
mouse_event(MOUSEEVENTF_LEFTDOWN,curpos.x,curpos.y,,);
mouse_event(MOUSEEVENTF_LEFTUP,curpos.x,curpos.y,,);
if(!fast) Sleep(i);
//锁定目标位置
if(GetAsyncKeyState(VK_CONTROL))
{
if(a&&b)
{
a=;b=;
printf("解除锁定\n");
}
else
{
GetCursorPos(&curpos);
a=(int)curpos.x;
b=(int)curpos.y;
printf("位置锁定 %d %d\n",a,b);
}
}
if(GetAsyncKeyState(VK_SPACE))
{
printf("暂停\n");Sleep();
//接收到信号才继续执行
while()
{
if(GetAsyncKeyState(VK_SPACE))
{
printf("继续\n");
break;
}
Sleep();
if(GetAsyncKeyState(VK_ESCAPE))
{
printf("重新开始\n");
return;
}
}
}
if(GetAsyncKeyState(VK_ESCAPE))
{
printf("重新开始\n");
return;
}
}
printf("按空格键再来一次\n");
while()
{
if(GetAsyncKeyState(VK_SPACE)) break;
Sleep();
if(GetAsyncKeyState(VK_ESCAPE))
{
printf("重新开始\n");
return;
}
}
}
Sleep();
}
} int main()
{
system("mode con cols=25 lines=10");
system("title made by S.O.A.F");
SetWindowPos(GetForegroundWindow(), HWND_TOPMOST, , , , , SWP_NOMOVE | SWP_NOSIZE);
printf("自动窗口置顶\n空格键开始,暂停,继续\nESC键重新开始\n4.点击的位置为鼠标的位置。\nCTRL键锁定,解锁位置\n"); while()
{
fast=inf=;
system("pause");
selectrate();
system("cls");
printf("频率%.2f次/秒\n次数%d次\n空格键 开始 暂停 继续\nESC键 重新开始\nCTRL键 锁定 解锁位置\n",/i,j);
click(i,j);
}
return ;
}
这里有许多功能。
窗口置顶
锁定位置
中途暂停
中途启动
……
(但是效率不是特别高)
在我经过一番测试后,觉得许多功能都是没必要的,就把他们删了。
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<windows.h>
using namespace std;
#define IL inline
#define RE register
POINT curpos;//鼠标的位置
int main()
{
float i;//点击速度
bool fast,flag;
system("mode con cols=25 lines=10");
system("title Code by S.O.A.F");
SetWindowPos(GetForegroundWindow(), HWND_TOPMOST, , , , , SWP_NOMOVE | SWP_NOSIZE);
printf("自动窗口置顶\n空格键开始,暂停,继续\nESC键重新开始\n4.点击的位置为鼠标的位置。\nCTRL键锁定,解锁位置\n"); while()
{
fast=flag=;
system("pause");
system("cls"); printf("由于windows的最小计时单位为毫秒,故输入大于1000的数字将会被转化为1000,输入0会…会失去等待时间!\n请输入点击频率 n 次/秒\n(0.01< n <=1000)\n");
cin>>i;
if(i==) fast=;
else i=(int)(/i);
system("cls"); printf("频率%.2fHz\n空格键 开始\nESC键 重新开始\n",/i); while()//等待空格触发开始
{
if(GetAsyncKeyState(VK_SPACE))
{
printf("开始运行\n");
while()
{
if(!fast) Sleep(i);
mouse_event(MOUSEEVENTF_LEFTDOWN,curpos.x,curpos.y,,);
mouse_event(MOUSEEVENTF_LEFTUP,curpos.x,curpos.y,,);
if(GetAsyncKeyState(VK_ESCAPE))
{
printf("重新开始\n");
flag=;
break;
}
}
}
if(GetAsyncKeyState(VK_ESCAPE))
{
printf("end\n");
flag=;
}
if(flag) break;
} }
return ;
}
只有短短的六十行!
还把函数都涵盖到主函数里面了。
反正,用来给钉钉直播刷赞应该够了吧……
测试程序
那要是不刷赞无聊的时候,怎么来测试连点器的性能呢?
我又翻了翻mouse的一些函数,找到了mouse_event();
#include<windows.h>
#include<cstdio>
#include<iostream>
using namespace std; int main()
{
HANDLE ConsoleWin;
INPUT_RECORD eventMsg;
DWORD Pointer ;
long long a=;
ConsoleWin = GetStdHandle(STD_INPUT_HANDLE);//Get the console window while(){
ReadConsoleInput(ConsoleWin, &eventMsg, , &Pointer);//Read input msg
if (eventMsg.EventType == MOUSE_EVENT && eventMsg.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) printf("%lld\n",++a);
}
return ;
}
运行后,点一下控制台就会记录+1。十分方便快捷!
(记得关闭“快速编辑模式”!)
ZIP
这里把所有东西的压缩包放在这了……
最新文章
- hdu 1503 Advanced Fruits
- 获取sql server数据库表结构
- WINFrom Excal 数据导入数据库
- CSS常用布局整理
- Mvc学习笔记(3)
- MyEclipse8.6安装svn(非link方式)
- Windows 取得至高无上的权限
- photoshop移动工具
- ORB_SLAM2之Pangolin的安装与问题处理
- eclipse构建maven+scala+spark工程
- Rwordseg使用
- .NetCore WebApi——基于JWT的简单身份认证与授权(Swagger)
- 酒店web认证802.11x+ROS共享NAT上网
- MySQL建库建表
- 条件GAN论文简单解读
- PCB器件重叠报错
- OAF在打开的新页面中添加按钮,功能是关闭当前页面
- 使用dig命令解析域名
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步
- 使用jsonp跨域发送请求