Програмная смена языка на виртуально клавиатуре Windows

179
16 сентября 2021, 16:20

Есть WPF проект. Windows 10. При переходе на определённые View вызывается процесс osk.exe - экранная клавиатура.

Периодически нужно менять язык, но предполагается, что не все знают комбинацию клавиш для этого действия. Поэтому решено добавить кнопку, которая изменяет язык ввода на уровне ОС

      private void ChangeLang()
      {
         if (InputLanguageManager.Current.CurrentInputLanguage.Name == "ru-RU")
         {
            InputLanguageManager.Current.CurrentInputLanguage = new CultureInfo("en-US");
            IsRussian = false;
            return;
         }
         InputLanguageManager.Current.CurrentInputLanguage = new CultureInfo("ru-RU");
         IsRussian = true;
      }

Этот вариант работает, но есть недостаток - язык на экранной клавиатуре переключается не сразу, при этом, нужно немного передвинуть клавиатуру или как-то с ней повзаимодействовать.

Вопросы такие:

1) Можно ли как-то ускорить обновление раскладки на клавиатуре?

или

2) Сделать симуляцию нажатия Shift + Alt?

Если нажать на экранной клавиатуре Shift затем Alt затем снова Shift, то раскладка сменится быстро.

Answer 1

osk.exe не принимает команды вроде cmd => osk.exe /CHANGELANGUAGE вот нашел другую клавиатуру которая принимает команды посмотри тут

READ ALSO
Делегаты и события

Делегаты и события

Создать класс Банк, с использование события ввода пин-кода(если неверный, повторить попытку) снятие и пополнение на счетКласс создал, но с пин-кодом...

297
Task завершается через 15 минут работы

Task завершается через 15 минут работы

Написал программу которая должна раз в секунду проверять ping до двух серверовПроблема в том, что примерно через 15 минут таски перестают выполняться

157
Изменение места в рейтинге

Изменение места в рейтинге

Есть таблица рейтинга, столбцы Участник, Место и Баллы Вот строки

168
Как воспроизводить видео с камеры на VideoPlayer

Как воспроизводить видео с камеры на VideoPlayer

У меня есть камера "видеонаблюдения" за комнатойВ соседней комнате есть GameObject (монитор) с VideoPlayer ом на котором должна быть ТЕКУЩАЯ запись с камеры

324