C++ 通过硬件点击区分点击和鼠标事件
我的目标是制作一个程序,当用户按下鼠标按钮时自动点击 此刻,我有了这个C++ 通过硬件点击区分点击和鼠标事件,c++,windows,click,C++,Windows,Click,我的目标是制作一个程序,当用户按下鼠标按钮时自动点击 此刻,我有了这个 while (true) { Sleep(1); if (GetAsyncKeyState(VK_LBUTTON)) { mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(
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);
但当我使用它时,它只是开始一个循环,因为程序会不断检测点击并不断发送更多的输入。
如何解决此问题?要确定是否按下了按钮或键,可以使用以下方法:
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);
}
}
#包括
#包括
int main()
{
而(1)
{
if(GetAsyncKeyState(VK_LBUTTON)){
keybd_事件(VK_LBUTTON,0x45,KEYEVENTF_KEYUP,0);
而(!GetAsyncKeyState(VK_LBUTTON))
{
keybd_事件(VK_按钮,0x45,0,0);
std::你想要一个“自动点击”的程序吗?你的程序应该解决的真正问题是什么?至于你的问题,一个简单的标志告诉你的程序调用GetAsyncKeyState(VK_LBUTTON)怎么样
还是不?@一些程序员伙计,我想要一种当用户按住鼠标左键时可以连续发送点击的东西。这是用于游戏的。除非你想自己发送点击,否则你真正想要的可能是将点击发送到某个特定窗口?我认为这不起作用,因为它需要非常低的延迟。有人对我说了一些关于鼠标挂钩的事情,但我无法理解文档。这并没有回答所问的问题。@I不可检测,正如前面提到的,它确实提供了一些关于他可能试图实现OP所问的目标的见解。此建议答案包含的唯一潜在见解是使用。但您不能使用此API打电话到这里。阅读文档了解原因。这个答案没有提供如何区分真实输入和注入输入的信息。这就是问题的目的。