.net System.ConsoleKeyInfo.Key是虚拟密钥代码吗?

.net System.ConsoleKeyInfo.Key是虚拟密钥代码吗?,.net,windows-console,.net,Windows Console,我正在实现我自己版本的。我想要实现,因此我需要映射到 我可以将System.ConsoleKeyInfo.Key转换为int,我只是不知道这是否是VirtualKeyCode。我想我以前测试过这个,答案是“是的,但是”。请参阅下面的注意事项。您可以通过编写一个程序来测试该答案,该程序输出所有值的整数值,并将它们与值进行比较 但是请注意,ConsoleKeyInfo.Key只是键,没有修饰符。虚拟键代码是包含修饰符(Shift、Control、Alt)的位图值。使用ConsoleKeyInfo,修

我正在实现我自己版本的。我想要实现,因此我需要映射到

我可以将System.ConsoleKeyInfo.Key转换为int,我只是不知道这是否是VirtualKeyCode。

我想我以前测试过这个,答案是“是的,但是”。请参阅下面的注意事项。您可以通过编写一个程序来测试该答案,该程序输出所有值的整数值,并将它们与值进行比较

但是请注意,
ConsoleKeyInfo.Key
只是键,没有修饰符。虚拟键代码是包含修饰符(Shift、Control、Alt)的位图值。使用
ConsoleKeyInfo
,修饰符存储在
modifiers
属性中


或者,您可以将
ConsoleKey
枚举的值与枚举的值进行比较,枚举的值明确表示这些值对应于虚拟键代码。

Jim尚未对此进行测试,但我还发现了一个获取键盘扫描代码的实用程序: