Сколько раз вы матерились про себя, начав набирать пароль на русском или русский текст на английском? Переключение раскладки в Windows не очень удобно и почти никто не пытается исправить это неудобство в своей программе. Хотя делается это очень просто. Не буду касаться тонкостей определения установленных в системе раскладок, возьму самый простой случай с русским компьютером и русско-английской раскладкой.
Установить русскую раскладку можно используя классы InputLanguage и CultureInfo:
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo("ru-RU"));
для американского варианта английского языка
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo("en-US"));
Другие раскладки устанавливаются аналогичным образом. Список возможных вариантов раскладок можно посмотреть здесь.
спасибо
Спасибо очень помогло.
Знает ли кто, как можно отловить глобальное изменение языка в сис-ме, вне зависимости от потока? Т.е. как неактивное приложение может отловить изменения раскладки клавиатуры? Т.е. по сути нужно отлавливать изменение языка ru|en в таскбаре.
Уже вторые сутки бьюсь. Уж думаю, не декомпильнуть ли эту тулзу и глянуть, что и как она слушает.
Гугл вроде как выводит на Stack Overflow.