Тема: AHK: Смена раскладки по-умолчанию
Написал следующий код.
1 Ставлю язык ввода по-умолчанию русский через панель управления.
2 Запускаю скрипт, нажимаю ДА
3 В реестре значения меняются на нужные (англ. раскладка становится по-умолчанию)
4 В панели управления тоже стоит английская по-умолчанию при этом
Скрипт всё равно ругается на отсутствие хоткея Z в системе
Захожу в панель управления, еще раз проверяю, что стоит именно английский по-умолчанию. И только после того как нажму ОК в панели управления (языки и регион. стандарты), скрипт запускается нормально.
Т.е. программно смены данных в реестре в ветке HKCU, Keyboard Layout\Preload не достаточно. Еще должно быть какое-то условие, чтобы раскладка клавиатуры полностью стала по-умолчаню.
Надеюсь не заморочил. Как полностью в ahk сменить раскладку клавиатуры по-умолчанию?
RegRead, Locale, HKCU, Keyboard Layout\Preload, 1
If locale != 409
{
msgbox,20,, Раскладка клавиатуры по-умолчанию должна стоять Английская.`n`nСменить?`nДа = сменить`nНет = выйти
IfMsgBox, Yes
{
RegRead, Locale2, HKCU, Keyboard Layout\Preload, 2
RegWrite,REG_SZ, HKCU, Keyboard Layout\Preload, 1, % locale2
RegWrite,REG_SZ, HKCU, Keyboard Layout\Preload, 2, % locale
Reload
}
else
ExitApp
}
hotkey, #Z, SendZ, On
return
SendZ:
MsgBox Всё ОК
return