是否可以将存储在dword中的十六进制与getasynckeystate一起使用



如果标题有点混乱,很抱歉,但我正在尝试使用值为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是HEX0x12。在您的代码中使用的DECIMAL 12是HEX0x0C,也就是VK_CLEAR。所以,改变这个:

DWORD keybind = 12;

相反:

DWORD keybind = 0x12;

最新更新