Re:连点器
连点器
介绍
顾名思义,可以连续点的机器。
当然,连续可快可慢;机器意味着不许要人工点击;可以是生活中的机器,也可以是电脑中的程序。
现在,连点器网上一搜一大堆,什么鼠标连点精灵,鼠大侠……不仅有电脑的,还有安卓系统的。
但是,用这些软件,我很不放心。说不定就有什么木马病毒呢……
再说,我们这些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
这里把所有东西的压缩包放在这了……
Re:连点器的更多相关文章
- 自定义基于 VLC 的视频播放器
前言(蛋疼的背景故事) 前段时间,接了一个小项目,有个需求是要在系统待机一段时间以后,循环播放 MV(类似于 Windows 系统的屏幕保护). 听到这个需求,我首先想到的是 MediaPlayer ...
- 【.net 深呼吸】细说CodeDom(7):索引器
在开始正题之前,先补充一点前面的内容. 在方法中,如果要引用方法参数,前面的示例中,老周使用的是 CodeVariableReferenceExpression 类,它用于引用变量,也适用于引用方法参 ...
- solr服务中集成IKAnalyzer中文分词器、集成dataimportHandler插件
昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务:今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索. 在solr服务中集成IKAnalyzer中文分词器的步骤: ...
- Python高手之路【四】python函数装饰器
def outer(func): def inner(): print('hello') print('hello') print('hello') r = func() print('end') p ...
- Sublime Text 3中文乱码解决方法以及安装包管理器方法
一般出现乱码是因为文本采用了GBK编码格式,Sublime Text默认不支持GBK编码. 安装包管理器 简单安装 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令 ...
- Python应用03 使用PyQT制作视频播放器
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁任何形式转载. 最近研究了Python的两个GUI包,Tkinter和PyQT.这两个GUI包的底层分别是Tcl/ ...
- 9、 Struts2验证(声明式验证、自定义验证器)
1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证: ...
- 6. ModelDriven拦截器、Preparable 拦截器
1. 问题 Struts2 的 Action 我们将它定义为一个控制器,但是由于在 Action 中也可以来编写一些业务逻辑,也有人会在 Action 输入业务逻辑层. 但是在企业开发中,我们一般会将 ...
- JavaScript自定义媒体播放器
使用<audio>和<video>元素的play()和pause()方法,可以手工控制媒体文件的播放.组合使用属性.事件和这两个方法,很容易创建一个自定义的媒体播放器,如下面的 ...
- XML技术之DOM4J解析器
由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...
随机推荐
- 建立MVC的依赖项注入 Setting up MVC Dependency Injection 精通ASP-NET-MVC-5-弗瑞曼
The result of the three steps I showed you in the previous section is that the knowledge about the i ...
- 团队项目——Alpha发布1
这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/homework 这个作业要求在哪里 https ...
- 用CSS实现横向滚动条
在进行app制作时,需要使用横向滚动条是内容展示更完善 首先,这是html代码: 这是CSS代码: 要点: 设置显示内容的宽 white-space是防止内容自动折行 overflow-y设置为hid ...
- AntV F2 数据可视化填坑,图表横向滚动
柱状图横向滚动 思路 通过 Interaction 实现平移,通过 ScrollBar 显示滚动条 1.Interaction F2 提供一套交互机制,以达到通用交互行为的封装和复用.基于此机制,我们 ...
- Spring事务梳理
Spring事务传播行为 概述 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为 事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数 ...
- go--->beego框架安装
beego 安装 1.新建gopath 工程目录 2.在新建的工程目录中执行go get github.com/astaxie/beego 命令 3.再执行go get github.com/beeg ...
- day05【数组】
day05[数组] 1.数组 概念:是一种容器,可以同时存放多个数据. 特点: 数组是一种引用数据类型 数组当中的多个数据,类型必须统一 数组的长度在程序的运行期间不可改变 初始化:在内存当中创建一个 ...
- 微信小程序框架分析小练手(三)——仿香哈菜谱小程序制作
香哈菜谱是一款围绕美食而成的小程序,在这里可以查看各式各样的菜谱. 一.打开微信开发者工具,新建一个项目:xhcp.如下图: 二.建立如下的一些目录: 三.将底部标签导航图标.美食轮播图片.宫格导航图 ...
- 9. HanLP《自然语言处理入门》笔记--9.关键词、关键句和短语提取
笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP 9. 信息抽取 信息抽取是一个宽泛的概念,指的是从非结构化文本中提取结构化信息的一 ...
- 纯JavaScript实现页面行为的录制
在网上有个开源的rrweb项目,该项目采用TypeScript编写(不了解该语言的可参考之前的<TypeScript躬行记>),分为三大部分:rrweb-snapshot.rrweb和rr ...