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