Как мне получить и настроить язык ввода другого приложения? - PullRequest
2 голосов
/ 04 мая 2009

Вот проблема: у меня есть пользователь с ограниченными возможностями и использующий специализированную виртуальную клавиатуру. У него нет проблем с переключением языков на его виртуальной клавиатуре, но он не всегда меняет язык ввода (клавиатуру ввода?) Активного в данный момент приложения - что именно ему нужно.

Так есть ли какие-либо вызовы API, которые я могу сделать, чтобы запросить текущую клавиатуру ввода окна? Что еще более важно, есть ли способ, которым я могу внешне установить язык ввода другого окна?

1 Ответ

2 голосов
/ 04 июня 2009

В System.Windows.Forms (.NET) есть класс «InputLanguage». Позволяет установить желаемый язык ввода. Дополнительная информация доступна в описании класса MSDN InputLanguage.

Что касается установки языка для конкретного окна - для этого есть решение:

  1. Вы должны создать программу для захвата текущего выбранного окна и запустить его в фоновом режиме;
  2. Когда программа работает, она фиксирует названия программ, над которыми в данный момент работает пользователь, и устанавливает нужный язык;

Я предлагаю вам рассмотреть пример - http://www.java2s.com/Tutorial/CSharp/0520__Windows/GetcurrentActiveWindow.htm - это основы, которые вам понадобятся для получения информации о текущих активных программах. Пример настройки языка ввода доступен в статье MSDN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...