我之前浏览了几个关于此的问题,到目前为止我找到的最佳答案是这样的:
(char) WinAPI.MapVirtualKey((uint) Keys.A, 2)
Run Code Online (Sandbox Code Playgroud)
但是,这在两个方面不起作用:
它总是返回大写字母.因为Keys.A我希望得到这个角色a,而Keys.A | Keys.ShiftKey我期待得到A; 但是,我似乎得到A了两者.
它似乎没有考虑键盘布局.例如,因为Keys.OemMinus我似乎总是得到角色-,即使当前的键盘布局是德语,我期望这个键返回ß.
对此有什么正确的解决方案?