|
|
|
Переключение раскладки клавиатура на английскую по умолчанию VBS
|
|||
|---|---|---|---|
|
#18+
Привет всем, есть вот такой скрипт, он переключает клавиатуру на нужную раскладку и запускает приложение для выполнения SendKeys. Работает на блокноте. И есть скрипт для антивирусника, он тоже работает, но только если английская раскладка задана по умолчанию. Как бы их объединить? ' Запуск редакторов с переключением языка ввода на нужный Set Dict = CreateObject("Scripting.Dictionary") Dim WSH : Set WSH = CreateObject("WScript.Shell") ' Читаем значение ключа смены языка ввода: Language = WSH.RegRead("HKCU\Keyboard Layout\Toggle\Hotkey") ' Проходимся по списку языков ввода, запоминая значения в коллекции: On Error Resume Next For i = 1 to 10 Key = WSH.RegRead("HKCU\Keyboard Layout\Preload\" & i) If Err.Number > 0 Then Exit For Dict.Add Key, i Next : On Error GoTo 0 ' Устанавливаем, под какими номерами идут требуемые языки: ENG = Dict.Item("00000409") : RUS = Dict.Item("00000419") ' Устанавливаем вызываемую впоследствии комбинацию клавиш: Select Case Language Case 1 HK = "%+" : Case 2 HK = "^+" : Case 4 HK = "`" End Select ' Настраиваем кнопки диалога сообщения: Msg = MsgBox("Нажмите Да для перехода в блокнот," & vbnewLine & _ "Нет - для перехода в WordPad" & vbnewLine & "Отмена - для других действий", 4099) If Msg = 6 Then Run "notepad", RUS, HK ElseIf Msg = 7 Then Run "%WinDir%\write.exe", ENG, HK ElseIf Msg = 2 Then WScript.Echo "Другие действия!" End If ' Выгружаем скрипт: Set Dict = Nothing : Set WSH = Nothing : WScript.Quit ' Процедура вызова программ Sub Run(Program, Lang, HKey) ' Вычисляем требуемое кол-во нажатий хоткея переключения раскладки: If Lang = 1 Then Count = 0 Else Count = Lang - 1 ' Запускаем редактор и активируем его окно: Set ApExec = WSH.Exec(Program) : PID = ApExec.ProcessID Do : A = WSH.AppActivate(PID) : Loop Until A : WScript.Sleep 40 ' Нажимаем хоткей смены языка нужное число раз: If Count Then : For n = 1 To Count : WSH.SendKeys HKey : Next : End If End Sub Скрипт для антивируса ' Open mcconsol Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") Run """"&"%ProgramFiles%\McAfee\VirusScan Enterprise\mcconsol.exe"&"""", 1 ' Give time to load НУЖНО ПЕРЕКЛЮЧИТь на англ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WScript.Sleep 1000 'WshShell.Run """"&"%ProgramFiles%\McAfee\VirusScan Enterprise\mcconsol.exe"&"""",1 WScript.Sleep 500 ' Type Stop McAfee WshShell.SendKeys "%(D)" WshShell.SendKeys "{DOWN 2}" WshShell.SendKeys "{ENTER}" WScript.Sleep 500 WScript.Sleep 500 WshShell.SendKeys "(password)" WshShell.SendKeys "{ENTER}" WScript.Sleep 500 WshShell.SendKeys "{DOWN}" WshShell.SendKeys "{F4}" WshShell.SendKeys "{DOWN 2}" WshShell.SendKeys "{F4}" WshShell.SendKeys "{UP 3}" WshShell.SendKeys "{F4}" WScript.Sleep 500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2015, 16:33 |
|
||
|
|

start [/forum/topic.php?fid=26&gotonew=1&tid=1493877]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
26ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 334ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...