C ++检测按键并将其转换为虚拟按键代码

时间:2019-11-29 15:44:09

标签: c++ keycode

我正在制作一个程序,其中用户按下键盘键,然后我需要检测按键并将其转换为虚拟键码(VK_KEY)

搜索时间很长,但没有成功。 像这样:

cout << "Press a key: ";
keypress=getch();

*translate getch() to (VK_KEYS)*


1 个答案:

答案 0 :(得分:0)

这不可能。

getch是一个非常类似于getc的非标准函数,它返回一个字符

虚拟键码不会一对一映射到字符。存在根本不产生任何字符的键代码,以及在先前按下或按住另一个键等情况下产生不同字符的键代码。
此外,一些非常不同的虚拟键(例如numpad!)可以和 产生相同的字符。

因此,您的映射数很少,并且使用了pidgeonhole原理。

您当然可以为一些字符(例如A-Z)创建一个查找表,这可能足以满足您的需求。但是通常没有正确的方法。