检查是否按下了ALT键

时间:2017-05-01 18:22:34

标签: c windows keyboard-shortcuts

经过多次测试后,如果在C程序中使用 GetAsyncKeyState 按下Alt键,我就无法记录。 当我尝试这个时:

if (GetAsyncKeyState(VK_SHIFT))
    // do something

它运作正常,但是当我尝试这个时

if (GetAsyncKeyState(VK_MENU))
    // do something

它不起作用。
所以我的问题是"我如何记录ALT?"。

提前致谢

1 个答案:

答案 0 :(得分:2)

我使用下面的代码找出完全适合GetAsyncKeyState的任何键的值,我认为ALT键为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;
}