经过大量测试后,我无法在 C 程序中使用 GetAsyncKeyState 记录是否按下 Alt 键。 当我尝试这个时:
if (GetAsyncKeyState(VK_SHIFT))
// do something
它工作正常,但是当我尝试这个
if (GetAsyncKeyState(VK_MENU))
// do something
这不起作用。
所以我的问题是“我如何记录 ALT?”。
提前致谢
最佳答案
我使用下面的代码来找出完全适合 GetAsyncKeyState
的任何键的值,我认为 ALT
key 的值是 18。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#if _WIN32_WINNT < 0x0500
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0500
#endif
#include <windows.h>
using namespace std;
int main ()
{
char i;
for(i=8; i<190; i++)
{
if(GetAsyncKeyState(i)== -32767)
{
cout<<int (i)<<endl;
}
}
return 0;
}
关于检查是否按下了 ALT 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43724247/