?*****************************************************
? Имя сценария: Keystrokes.vbs
? Версия: 1.0
? Author: Jason Fossen
?Последнее обновление: 15.Dec.2003
? Назначение: демонстрирует применение SendKeys(), Sleep() и AppActivate(), которые
? применяются для сценарного управления графическими приложениями.
? Примечание: в конце файла сценария приведена информация по форматированию
? специальных клавиш, для SendKeys() таких как Alt, Ctrl, Esc, F4 и другие.
? Предупреждение: автор не несет ответственности за последствия применения сценария.
?*****************************************************

On Error Resume Next
Set oWshShell = WScript.CreateObject(«WScript.Shell»)
?Launch Event Viewer. 
oWshShell.Run(«%SystemRoot%system32eventvwr.msc /s»)
?Задержка сценария на 3 секунды (3000 мс) для согласования с приложением.
?Если послать нажатия на клавиши в загруженное полностью приложение,
?то нажатия на клавиши будут просто пропущены.
WScript.Sleep(3000)


?Хотя Event Viewer должен быть на переднем плане, данный прием гарантирует временную синхронизацию.
?AppActivate() отыскивает точное имя запущенного приложения, а
?затем выводит на передний план приложение и передает ему фокус.

?Данный метод можно использовать для переключения между разными приложениями.
oWshShell.AppActivate(«Event Viewer»)
?Теперь нажатия на клавиши пересылаются в Event Viewer. Команды Sleep обычно не обязательны,
?но благодаря замедлению удается увидеть действия, а иногда задержка необходима,
?если сценарий выполняется быстрее, чем приложение.
oWshShell.SendKeys(«{PGUP}») ?Нажать Page Up, чтобы переместить фокус на верхний уровень дерева.
oWshShell.SendKeys(«{DOWN}») ?Три раза нажать клавишу стрелка вниз.
oWshShell.SendKeys(«{DOWN}»)
oWshShell.SendKeys(«{DOWN}»)
oWshShell.SendKeys(«%A») ?Нажать Alt-A для перехода в меню Action.
WScript.Sleep(500)
oWshShell.SendKeys(«{DOWN}»)
oWshShell.SendKeys(«{ENTER}») ?Нажать клавишу Enter.
WScript.Sleep(1000)
oWshShell.SendKeys(«c:EventLog.evt»)
oWshShell.SendKeys(«{TAB}») ?Переход с помощью табулятора к кнопке Save.
oWshShell.SendKeys(«{TAB}»)
oWshShell.SendKeys(«{ENTER}»)
WScript.Sleep(600)
oWshShell.SendKeys(«{LEFT}») ?Ответить Yes, если необходимо перезаписать ранее существовавший файл.
oWshShell.SendKeys(«{ENTER}»)
oWshShell.SendKeys(«%{F4}») ?Alt-F4 закрывае окно MMC.
?Пересылка данных о нажатиях на специальные клавиши в SendKeys().
?Shift Key +
?Ctrl Key ^
?Alt Key %
?Backspace {BACKSPACE}, {BS} or {BKSP}
?Break (BREAK}
?Caps Lock {CAPSLOCK}
?Delete {DELETE} or {DEL}
?Cursor Up {UP}
?Cursor Down {DOWN}
?Cursor Right {RIGHT}
?Cursor Left {LEFT}
?End {END}
?Enter {ENTER} or ~
?Esc {ESC}
?Home {HOME}
?Insert {INSERT} or {INS}
?Num Lock {NUMLOCK}
?Page Down {PGDN}
?Page Up {PGUP}
?Scroll Lock {SCROLLOCK}
?Tab {TAB}
?F1, F2, F3... {F1}, {F2}, {F3}...
?
?Чтобы закрыть программу, используйте Alt-F4 = %{F4}
?
?Для доступа к командам меню отыщите подчеркнутые символы в меню, затем
?введите Alt-символ, например %F, чтобы раскрыть меню File, затем %X для Exit.
?
?Если нужно удерживать одну клавишу и нажать другие, то вслед за символом удерживаемой клавиши
?должны следовать список других клавиш, заключенный в круглые скобки.
?Например, чтобы переслать Shift-A-B, нужно ввести +(AB), а для пересылки Alt-C-D-E ввести %(CDE).
?
?Для многократного повторения нажатий на клавиши следует поместить в фигурные скобки клавишу,
?символ пробела и число повторов. Например, чтобы ввести букву R
?20 раз, следует записать {R 20}.
?END OF SCRIPT ***************************************

Поделитесь материалом с коллегами и друзьями