Нет возможности переключения языка для других исполняемых пользователем исполняемых файлов?
Надеюсь, проблема, с которой мы сталкиваемся, не так уж уникальна.
Сначала немного предыстории: мы запускаем несколько приложений с Process.Start(startInfo) под другой учетной записью пользователя (которая имеет более высокие привилегии) из приложения C# (своего рода запуска оболочки), которое было запущено под ограниченной учетной записью привилегированного пользователя, зарегистрированного -в.
У нас возникают проблемы с переключением клавиатуры для разных языков с комбинациями клавиш Alt + Shift в приложениях, запущенных с более высокими привилегиями, вне процесса. Хотя у исходного запускающего приложения нет проблем с переключением клавиатуры, у запущенных приложений такой возможности нет.
Мы добавили языковые клавиатуры в олицетворенный профиль пользователя и не видим изменений, переключатель клавиатуры недоступен. Мы также добавили LoadUserProfile = true к параметрам ProcessStartInfo, и тем не менее переключение клавиатуры языка не работает. На данный момент нам нужна помощь для выявления и устранения этой проблемы. Это поддерживается? Если так, как мы можем запустить исполняемый файл в отдельном процессе под другой учетной записью пользователя и дать пользователю возможность переключать клавиатуры?
Если это просто не поддерживается в Windows при запуске исполняемых файлов вне процесса, может ли эта возможность переключения языков быть обеспечена программно и как?
0 ответов
Эта проблема была внутренне исследована нашей командой управления выпуском и обнаружила, что 1507 сборка Windows 10 не поддерживает переключение клавиатуры другим пользователем. В более поздней сборке 1809 года это работает.
Патча для этой проблемы как такового не существует, и для решения этой проблемы для наших клиентов применяются другие обходные пути.