Как установить для уже созданных локальных пользователей определенные настройки языковой панели и задать комбинации клавиш для переключения языков?
Требуется, изменить сочетание клавиш для переключения языков ввода; разместить языковую панель в произвольном месте рабочего стола и убрать кнопку помощи с панели.
Редактировать реестр
Опубликовано пользователем manager
Проблему можно решить путем редактирования реестра. А именно ветки HKCU для текущего пользователя или ветки соответствующей пользователю в HKEY_USERS или загрузить NTUSER.DAT пользователя.
Рассмотрим на примере HKCU
Смена языка ввода
HKCU\Keyboard Layout\Toggle\Hotkey (REG_SZ)
HKCU\Keyboard Layout\Toggle\Language Hotkey (REG_SZ)
Смена раскладки клавиатуры
HKCU\Keyboard Layout\Toggle\Layout Hotkey (REG_SZ)
1 - ALT+SHIFT
2 - CTRL+SHIFT
3 - не назначено
4 - ё
Языковая панель
HKCU\Software\Microsoft\CTF\LangBar\ShowStatus (REG_DWORD)
0 - располагается в произвольном месте
3 - скрыта
4 - закреплена в панели задач
HKCU\Software\Microsoft\CTF\LangBar\Label (REG_DWORD)
0,1 - отображать текстовые метки на языковой панели
HKCU\Software\Microsoft\CTF\LangBar\ExtraIconsOnMinimized (REG_DWORD)
0,1 - отображать дополнительные занчки языковой панели на панели задач
HKCU\Software\Microsoft\CTF\LangBar\Transparency (REG_DWORD)
0-255 - языковая панель прозрачна когда неактивна (255 - не прозрачна)
Кнопка справки на языковой панели
HKCU\Software\Microsoft\CTF\LangBar\ItemState\{ED9D5450-EBE6-4255-8289-F8A31E687228}\DemoteLevel (REG_DWORD)
1 - показать
3 - скрыть
Если раздел или параметр отсутствует его нужно создать.
Пример
Опубликовано пользователем manager
Загружаем ветку реестра пользователя
reg load HKU\load c:\users\имя_пользователя\ntuser.dat
Создаем или перезаписываем параметр, определяющий клавиши для изменения языка ввода CTRL+SHIFT
reg add "HKU\load\Keyboard Layout\Toggle" /v Hotkey /t REG_SZ /d "2" /f
reg add "HKU\load\Keyboard Layout\Toggle" /v "Language Hotkey" /t REG_SZ /d "2" /f
Аналогично для раскладки клавиатуры устанавливаем ALT+SHIFT
reg add "HKU\load\Keyboard Layout\Toggle" /v "Layout Hotkey" /t REG_SZ /d "1" /f
Настраиваем свойства языковой панели
reg add "HKU\load\Software\Microsoft\CTF\LangBar" /v ShowStatus /t REG_DWORD /d 0 /f
reg add "HKU\load\Software\Microsoft\CTF\LangBar" /v Label /t REG_DWORD /d 1 /f
reg add "HKU\load\Software\Microsoft\CTF\LangBar" /v ExtraIconsOnMinimized /t REG_DWORD /d 0 /f
reg add "HKU\load\Software\Microsoft\CTF\LangBar" /v Transparency /t REG_DWORD /d 255 /f
Отключаем кнопку помощи на языковой панели
reg add "HKU\load\Software\Microsoft\CTF\LangBar\ItemState\{ED9D5450-EBE6-4255-8289-F8A31E687228}" /v DemoteLevel /t REG_DWORD /d 3 /f
А теперь когда все готово нужен еще маленький штрих, без которого работать не будет. Изменяем параметр UserPreferencesMask имеющий тип REG_BINARY. Например, значение параметра как оно представлено в regedit 9e 1e 07 80 12 00 00 00 меняем на 9e 1e 07 80 12 01 00 00
Назначение всех бит мне неизвестно, на MSDN описаны только первые 4 байта. Поэтому просто посмотрите значение для текущего пользователя и измените его соответствующим образом.
reg add "HKU\load\Control Panel\Desktop" /v UserPreferencesMask /t REG_BINARY /d 9e1e078012010000 /f
Выгружаем ветку реестра
reg unload HKU\load
Заходим под пользователем - смотрим результат.