C 检查是否按了ALT键

C 检查是否按了ALT键,c,windows,keyboard-shortcuts,C,Windows,Keyboard Shortcuts,在测试了很多之后,我无法记录是否在C程序中使用GetAsyncKeyState按下Alt键。 当我尝试这个: if (GetAsyncKeyState(VK_SHIFT)) // do something 它工作正常,但当我尝试这个 if (GetAsyncKeyState(VK_MENU)) // do something 它不起作用 所以我的问题是“如何记录ALT?” 提前感谢我使用下面的代码找出任何完全适合GetAsyncKeyState的键的值,我认为ALT键的值是1

在测试了很多之后,我无法记录是否在C程序中使用GetAsyncKeyState按下Alt键。 当我尝试这个:

if (GetAsyncKeyState(VK_SHIFT))
    // do something
它工作正常,但当我尝试这个

if (GetAsyncKeyState(VK_MENU))
    // do something
它不起作用
所以我的问题是“如何记录ALT?”


提前感谢

我使用下面的代码找出任何完全适合
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;
}
#包括
#包括
#包括
#包括
#如果_WIN32_WINNT<0x0500
#undef\u WIN32\u WINNT
#定义_WIN32_WINNT 0x0500
#恩迪夫
#包括
使用名称空间std;
int main()
{
char i;

对于(i=8;i什么不工作?程序崩溃?程序未生成?从未调用“if”后的部分?您在测试什么?单独按Alt键或与其他字符组合按?您能否解释为什么“roy”是最佳答案?阅读下面的Microsoft网页,您可以立即看到VK_菜单=0x12=18!?