完了一个文字游戏,开局鼠标点击可以加资源升级,但是前期鼠标起码要点好久到后期才不会点了,所以写了个连点器来解决这个鼠标点击的事情
默认是不点击的,运行程序,把控制台拖到一遍别关就行,然后进入你的游戏,点s就是开始连点,再按s就是关然后这个游戏就不用在哪里点狂点鼠标了。
程序是左键点击,s键控制,如果需要修改的找到83换成其键的虚拟键值,VK_CODE的也行,mouse_event是模拟鼠标点击事件函数,只需要改第一个参就可以了,其他的不用改
#include <iostream>
#include <Windows.h>
using namespace std;
HHOOK hook; //钩子句柄
bool isRun = false;
LRESULT CALLBACK keyProc(int nCode, WPARAM wParam, LPARAM lParam)
{
KBDLLHOOKSTRUCT* key = (KBDLLHOOKSTRUCT*)lParam;
if (wParam == WM_KEYDOWN)
{
if (key->vkCode == 83 && !isRun)
{
isRun = true;
}
else
{
isRun = false;
}
printf("%d", isRun);
}
return CallNextHookEx(hook, nCode, wParam, lParam);
}
int main()
{
//设置钩子
hook = SetWindowsHookEx(WH_KEYBOARD_LL, keyProc, NULL, 0);
//需要消息循环,钩子才会生效
MSG msg = { 0 };
while (msg.message!=WM_QUIT)
{
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
if (isRun)
{
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Sleep(10); //最好还是留一个休眠
}
}
//卸载钩子
UnhookWindowsHookEx(hook);
system("pause");
return 0;
}