使用 C# 更改 Windows 键盘布局
Change Windows keyboard layout using c#
是否可以使用 C# 更改 Windows OS 键盘布局(例如从 azerty 到 querty)?
(针对整个OS,不仅仅是当前申请的进程)
我必须使用 PInvoke 还是有更简单的方法api/way?
这是一个电话:
[DllImport("user32.dll")]
static extern IntPtr LoadKeyboardLayout(string pwszKLID, uint Flags);
示例:
用于添加和激活 U.S。英文 Dvorak 布局,使用“00010409”。
LoadKeyboardLayout("00010409", 1)
MSDN:
Beginning in Windows 8: The input locale identifier is loaded for the
entire system. This function has no effect if the current process does
not own the window with keyboard focus.
意思是:你的 window 必须在焦点上,否则该功能无效。
来自 MSDN 的完整文档:
是否可以使用 C# 更改 Windows OS 键盘布局(例如从 azerty 到 querty)? (针对整个OS,不仅仅是当前申请的进程)
我必须使用 PInvoke 还是有更简单的方法api/way?
这是一个电话:
[DllImport("user32.dll")]
static extern IntPtr LoadKeyboardLayout(string pwszKLID, uint Flags);
示例:
用于添加和激活 U.S。英文 Dvorak 布局,使用“00010409”。
LoadKeyboardLayout("00010409", 1)
MSDN:
Beginning in Windows 8: The input locale identifier is loaded for the entire system. This function has no effect if the current process does not own the window with keyboard focus.
意思是:你的 window 必须在焦点上,否则该功能无效。
来自 MSDN 的完整文档: