先来了解一下需要用到的函数
1.GetAsyncKeyState
这个在上一期的文章鼠标连点器里面有介绍,这里简单说一下用法就好了
if(GetAsyncKeyState(VK_SPACE)) //按下空格键
printf("success");//显示成功
GetAsyncKeyState括号里面是空格键的虚拟键码。
这段代码的作用是,按下空格键,显示success,这个函数的特点是,即使把执行窗口最小化,或者鼠标没有选中窗口,也是能接收键盘输入的。
2.GetCursorPos
这个函数的作用是获取鼠标指针当前位置
POINT p;
GetCursorPos(&p);//获取光标当前位置
printf("%d x %d",p.x,p.y);//输出光标当前位置
用法就是先POINT p;
GetCursorPos(&p)获取鼠标指针的坐标,p.x,p.y分别代表好横坐标纵坐标,上面代码会输出鼠标在屏幕的位置,比如500x600
3.SetCursorPos
这个是设置鼠标指针的位置
压枪的关键就是,按住鼠标左键的时候,让鼠标指针慢慢下滑,所以需要用到这个。
用法非常简单
SetCursorPos(800,600);//鼠标指针移动到800x600的位置
里面的两个参数就是鼠标的横坐标和纵坐标,运行这句代码,指针就会移动到800x600的地方
最后,使用这三个函数都要加上头文件#include<windows.h>
现在可以动手了 (`⌒´メ)
压枪代码
#include<stdio.h>
#include<windows.h>
int main()
{
POINT p;
while(1)
{
if(GetAsyncKeyState(VK_LBUTTON))//如果按下鼠标左键
{
GetCursorPos(&p);//获取鼠标当前位置
SetCursorPos(p.x,p.y+=1);//鼠标指针向下滑,模拟压枪的效果
Sleep(20);//控制下滑的速度
if(GetAsyncKeyState(VK_ESCAPE))return 0;
}
}
return 0;
}
运行代码之后,试试按住鼠标左键?鼠标指针是不是慢慢向下滑了呢?神奇吧
虽然代码超过10行了,但不看那些括号还是差不多10行的
然而这不是重点,重点是,这段代码在稍微正经一点的游戏里都是运行不了的,某些页游或者老旧的单机游戏或许可以运行,但是,现在的游戏基本都是不行的。所以不要想着做游戏辅助脚本之类的了,好好享受公平的游戏环境带给你的乐趣吧。
下一篇说说怎么在正经一点的游戏里运行(嘘)