使用c#更改Windows键盘布局

问题描述 投票:1回答:1

是否可以使用C#更改Windows OS键盘布局(例如,从azerty更改为querty?(对于整个操作系统,而不仅仅是当前应用程序的进程)

我必须使用PInvoke还是有更简单的API /方式来使用它?

c# .net keyboard pinvoke culture
1个回答
0
投票

这是一个电话:

[DllImport("user32.dll")]
static extern IntPtr LoadKeyboardLayout(string pwszKLID, uint Flags);

样本

要添加和激活美国英语Dvorak布局,请使用“ 00010409”。

LoadKeyboardLayout("00010409", 1)

MSDN:

在Windows 8中开始:已为整个系统。如果当前进程执行此功能,则此功能无效不拥有具有键盘焦点的窗口。

含义:您的窗口必须在焦点上,否则该功能无效。

MSDN中的完整文档:

© www.soinside.com 2019 - 2024. All rights reserved.