我正在制作一个程序,其中用户按下键盘键,然后我需要检测按键并将其转换为虚拟键码(VK_KEY)
搜索时间很长,但没有成功。 像这样:
cout << "Press a key: ";
keypress=getch();
*translate getch() to (VK_KEYS)*
答案 0 :(得分:0)
这不可能。
getch
是一个非常类似于getc
的非标准函数,它返回一个字符。
虚拟键码不会一对一映射到字符。存在根本不产生任何字符的键代码,以及在先前按下或按住另一个键等情况下产生不同字符的键代码。
此外,一些非常不同的虚拟键(例如numpad!)可以和 产生相同的字符。
因此,您的映射数很少,并且使用了pidgeonhole原理。
您当然可以为一些字符(例如A-Z)创建一个查找表,这可能足以满足您的需求。但是通常没有正确的方法。