抱歉,如果标题有点令人困惑,但我正在尝试使用值为 12 的 DWORD,并将其与 GetAsyncKeyState 一起使用。
#include <Windows.h>
#include <iostream>
int x, y;
void click();
DWORD keybind = 12;
int main()
{
while (1)
{
if (GetAsyncKeyState(keybind))
{
Sleep(100);
click();
Sleep(100);
}
}
}
void click()
{
mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
}
我可能正在尝试做不可能的事情,因为我是编码新手,但希望你们能指导我正确的方向:)另外,将它存储在 DWORD 中的目的不仅仅是做 GetAsyncKeyState( VK_MENU)
是因为我不想从 txt 文件中获取十六进制键码。
最佳答案
是的,您可以将变量传递给 GetAsyncKeyState()
(尽管它需要一个 int
作为输入,而不是一个 DWORD
又名 unsigned long
).
另外,请注意 VK_MENU
是 HEX 0x12
。您的代码中使用的 DECIMAL 12 是 HEX 0x0C
又名 VK_CLEAR
。所以,改变这个:
DWORD keybind = 12;
改为:
DWORD keybind = 0x12;
关于c++ - 是否可以将存储在双字中的十六进制与 getasynckeystate 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51648424/