相关疑难解决方法(0)

如何根据当前键盘布局将虚拟键代码转换为字符?

我之前浏览了几个关于此的问题,到目前为止我找到的最佳答案是这样的:

(char) WinAPI.MapVirtualKey((uint) Keys.A, 2)
Run Code Online (Sandbox Code Playgroud)

但是,这在两个方面不起作用:

  • 它总是返回大写字母.因为Keys.A我希望得到这个角色a,而Keys.A | Keys.ShiftKey我期待得到A; 但是,我似乎得到A了两者.

  • 它似乎没有考虑键盘布局.例如,因为Keys.OemMinus我似乎总是得到角色-,即使当前的键盘布局是德语,我期望这个键返回ß.

对此有什么正确的解决方案?

c# winapi

20
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

winapi ×1