高级光能
#include<stdio.h>
#include<windows.h>//头文件
int main(){
while(1){
if(GetAsyncKeyState(VK_SPACE)){//按下空格,开始执行
while(1){
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);//当前位置点击一次鼠标
Sleep(100);
if(GetAsyncKeyState(VK_ESCAPE))break; //按esc退出
}
}
}
return 0;
}
/*
————————————————
版权声明:本文为CSDN博主「苯丸子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tiktiktock/java/article/details/100033634
*/
look,这就是鼠标连点器,最近刷赞都用到鼠标连点器,就在这:
https://blog.csdn.net/tiktiktock/java/article/details/100033634
内容:
直接上代码
#include<stdio.h>
#include<windows.h>//头文件
int main()
{
while(1)
{
if(GetAsyncKeyState(VK_SPACE))//按下空格,开始执行
{
while(1)
{
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);//当前位置点击一次鼠标
Sleep(500);//每0.5秒点击一次
if(GetAsyncKeyState(VK_ESCAPE))return 0; //按esc退出
}
}
}
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
好吧好像超10行了,但其实去掉中括号刚好10行
我们来测试一下运行程序,弹出来一个窗口,这时候如果我们按空格,程序就执行了,但是我们先不这么做,先把窗口最小化。
打开一个测试鼠标点击速度的网站http://www.5vmc.com/cps.html(本来是想找一个比点击速度的游戏的,找不到)
点击点我,然后按下空格,程序就会一直帮你点了,要退出就按esc
根据里面的评论,用手点的速度大概是7到10CPS
而如果我们用程序,可以点得很快很快
接下来我们来解析一下里面需要用到的函数
1.GetAsyncKeyState
简单点说,平时写的程序编译执行之后会弹出一个窗口,输入输出什么都是显示在窗口上面的,在窗口外面操作没有反应,而用了这个函数,即使把窗口最小化也是能接收键盘按键的。
看看用法
if(GetAsyncKeyState(VK_SPACE)) //按下空格键
printf("success");//显示成功
- 1
- 2
GetAsyncKeyState()的括号里面要输入虚拟键码,空格键的虚拟键码是VK_SPACE
其他按键的虚拟键码可以查对照表
上面的代码放在循环体里面,作用是,无论你窗口有没有最小化,有没有选中窗口,按下空格键,就显示success
2.mouse_event
这个函数可以模拟鼠标点击
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//当前位置按下鼠标左键
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//当前位置松开鼠标左键
- 1
- 2
上面两个一起用可以模拟一次鼠标点击
可以简写为
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
- 1
想深入了解这个函数的可以看一下里面的参数
VOID mouse_event(
DWORD dwFlags, // 鼠标相关的操作
DWORD dx, // x方向绝对位置或相对位置
DWORD dy, // y方向绝对位置或相对位置
DWORD dwData, // 鼠标轮相关
ULONG_PTR dwExtraInfo // 指定与鼠标事件相关的附加32位值
);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
更详细的可以自己去查
在这篇文章里,只要把dwfFlages设置为点击,后面的全部设置0就可以了,另外,
使用这两个函数的话,要加上头文件#include<windows.h>
有了这两个函数就可以做鼠标连点器了
如果想自己设置点击频率的话,程序可以再完善一点
#include<stdio.h>
#include<windows.h>
int main()
{
int i,res;//每秒点击i次,每res秒点击1次
printf("请输入每秒点击的频率\n");
scanf("%d",&i);
res=1000/i;//
printf("按空格执行");
while(1)
{
if(GetAsyncKeyState(VK_SPACE))
{
while(1)
{
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
if(GetAsyncKeyState(VK_ESCAPE))return 0;
Sleep(res);
}
}
}
return 0;
}
记得把.cpp换成.c
赵泰来在2020-07-29 19:24:35追加了内容
额……看样子挺好的呢………
赵泰来在2020-07-29 19:33:36追加了内容
you也来跟风
你开心就好
我的心在滴血啊啊啊啊啊啊啊啊啊啊啊啊阿啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
赵泰来在2020-07-29 19:36:11追加了内容
WHAT??????????????????????????????????
(苦笑)赶紧来刷啊,看看能不能打破迪士尼记录!!!
我的心是痛痛的
赵泰来在2020-07-29 19:38:34追加了内容
潜在的罪犯------>没通知
周**
赵泰来在2020-07-29 19:41:38追加了内容
赵泰来在2020-07-29 19:50:28追加了内容
502了
赵泰来在2020-08-01 18:25:26追加了内容
@张易晨 如果你觉得多,可以看看这个(我的)-->
进去就是502,删不掉
就打这字我就用了半个小时
资深光能
aaaaaaaaaaaaaaaaaaa啊啊啊啊啊啊啊啊啊啊啊---------------------------------------
心在滴血,我被刷赞了!!!!!!!!!!!
高级天翼
不快啊,难道是我的打开方式不对?
张恩泽在2020-08-01 22:26:55追加了内容
我giao,辣么快!
张恩泽在2020-08-01 22:26:59追加了内容
我giao,辣么快!
新手天翼
更完美版本(无懈可击)
#include<stdio.h>
#include<windows.h>
#include<iostream>//头文件
using namespace std;
int main(){
int n;
while(1){
system("cls");
cout<<"请输入每秒点击次数"<<endl;
cin>>n;
cout<<"按空格开始执行,按Esc键停止执行";
a:if(GetAsyncKeyState(VK_SPACE)){//按下空格,开始执行
while(1){
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);//当前位置点击一次鼠标
Sleep(1000/n);
if(GetAsyncKeyState(VK_ESCAPE))break; //按esc退出
}
n=0;
}
if(n!=0)
goto a;
}
return 0;
}
但是关程序只能叉掉,可能引起电脑事故……