0

我在 c# 中使用互操作获取键盘状态

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetKeyboardState(byte[] lpKeyState);

我的问题是,显然当我切换键盘布局(即从 QWERTY 到 Dvorak 时Ctrl-Shift)该函数GetKeyboardState返回不同的虚拟键码。有没有办法根据实际键盘制造商使用的布局简单地获取键码?

4

1 回答 1

0

您需要将虚拟键码映射到键盘扫描码。请参阅MapVirtualKeyEx

于 2013-03-21T13:57:15.067 回答