После CreateProcessWithLogonW перестает работать язык с alt shift - PullRequest
0 голосов
/ 03 марта 2012

Я столкнулся со странной проблемой: когда наше приложение порождает дочерний процесс с переключателем языка CreateProcessWithLogonW с alt-shift перестает работать в окнах нового процесса.В чем может быть проблема?ОС XP SP3.Та же настройка в Win 7.

Дополнительная вещь, которую я обнаружил: Эта проблема возникает только на Win XP на иврите.На английском XP работает нормально.

1 Ответ

0 голосов
/ 17 марта 2012

Как сказал Ганс Пассант, CreateProcessWithLogonW требует, чтобы для LOGON_WITH_PROFILE было установлено значение dwLogonFlags, что является четвертым аргументом функции для загрузки куста реестра пользователей в HKEY_USERS.Это гарантирует, что доступ к информации в разделе реестра HKEY_CURRENT_USER будет давать результаты, которые соответствуют обычному интерактивному входу в систему.

Также вы можете вызвать функцию LoadUserProfile перед вызовом CreateProcessWithLogonW.

Настройки реестра, которые вы хотите проверить, существуют для пользователя, чей профиль вы загружаете, включают

[HKEY_CURRENT_USER\Keyboard Layout\Toggle]
"Hotkey"="3"
"Language Hotkey"="3"
"Layout Hotkey"="3"

[HKEY_CURRENT_USER\Keyboard Layout\Preload]
"1"="00000809"
"2"="e00e0804"

[HKEY_CURRENT_USER\Software\Microsoft\CTF\LangBar]
"ShowStatus"=dword:00000000"

Значения [HKEY_CURRENT_USER\Keyboard Layout\Toggle]:

  • 1 Включена последовательность клавиш;используйте Left-ALT + SHIFT для переключения между локалями.
  • 2 Последовательность клавиш включена;используйте CTRL + SHIFT для переключения между локалями.
  • 3 Последовательности клавиш отключены.
  • 4 Если по умолчанию используется тайский язык, клавиша accent grave переключает вводимые локали;в противном случае последовательности клавиш отключены.

Значения [HKEY_CURRENT_USER\Keyboard Layout\Preload] перечислены здесь в столбце KeyName.

Значения [HKEY_CURRENT_USER\Software\Microsoft\CTF\LangBar] равны

  • 0 Плавающий на рабочем столе
  • 4 Пристыкован к панели задач
  • 3, если задано значение Скрыто, что является значением по умолчанию.

Соответствующие ресурсы включают

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