Изменить раскладку клавиатуры Windows с помощью c # - PullRequest
1 голос
/ 15 октября 2019

Можно ли изменить раскладку клавиатуры ОС Windows (например, с azerty на querty) с помощью C #? (для всей ОС, а не только для процесса текущего приложения)

Нужно ли мне использовать PInvoke или есть более простой API / способ сделать это?

1 Ответ

0 голосов
/ 15 октября 2019

Это один вызов:

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

Образец :

Для добавления и активации макета Dvorak на английском языке США используйте "00010409".

LoadKeyboardLayout("00010409", 1)

MSDN:

Начиная с Windows 8: Идентификатор языкового стандарта ввода загружается для всей системы. Эта функция не действует, если текущему процессу не принадлежит окно с фокусом клавиатуры.

Значение: Ваше окно должно быть в фокусе, в противном случае функция не действует.

Полная документацияот MSDN :

...