Кто-нибудь разбирается в vbs скриптах?
Есть такой вот простой скрипт:
set wShell = createObject("wscript.shell")
wShell.sendKeys "^%l"
wShell.Run "C:\WINDOWS\system32\shutdown.exe -s -t 0"
Проблема в том, что нажатие клавиши (вторая строка скрипта) срабатывает только если включена англоязычная раскладка. Можно ли с этим что-нибудь сделать? Хз, может как-то принудительно сперва переключать на англоязычную (именно переключать, а не менять, так как может она уже включена). Или какая-нибудь альтернативная строка для русскоязычной раскладки? Что бы две сразу отправляло, какая-нибудь да сработает. В общем, подскажите пожалуйста)
367
просмотров
Хм...да тут что то есть
Попробуй добавить после 3 переключение раскладки продублируй вторую строчку
Но это костыль коэш если сработает
Кстати да, идея.
sendKeys не поддерживает юникод.
У тебя комбинация с "шифт+альт+l" - поэтому я б не парился, и назначил на цифру лучше/служебную клавишу. Они везде одинаковые.
А вот выше идею предложили, как сменить раскладку? Просто wShell.sendKeys "^%" ничего не меняет
Так ты лучше сразу в вопросе пиши, чего тебе нужно добиться. :)
Если ты хочешь сменить input locale (раскладку) через vbs - то тебе нужно лезть в реестр и менять в нем. Там полотенце кода :D
Но сразу предупреждение - если ты поменяешь раскладку и сэмулируешь "shift+alt+l" - оно все равно пошлет английскую l. :D
Тогда ну его. В общем, спасибо за разъяснение, просто на цифру изменил)