我的目标是制作一个在按下用户鼠标按钮时自动单击的程序。
此刻,我有这个。
while (true)
{
Sleep(1);
if (GetAsyncKeyState(VK_LBUTTON))
{
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}
Sleep(delayy);
但是当我使用它时,它只是开始一个循环,因为程序将继续检测点击并继续发送更多输入。 我该如何解决?
答案 0 :(得分:-1)
要确定是否按下了按钮或按键,可以使用以下方法:
if((GetKeyState(VK_LBUTTON) & 0x100) != 0)
对于您要查找的代码,可以尝试以下操作:
#include <iostream>
#include <Windows.h>
int main()
{
while (1)
{
if (GetAsyncKeyState(VK_LBUTTON)) {
keybd_event(VK_LBUTTON, 0x45, KEYEVENTF_KEYUP, 0);
while (!GetAsyncKeyState(VK_LBUTTON))
{
keybd_event(VK_LBUTTON, 0x45, 0, 0);
std::cout << "Click" << std::endl;
}
}
Sleep(100);
}
}
这可能需要一些优化和修复,但是您可以在代码中对其进行整理。