?***************************************************** ? Имя сценария: 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 ***************************************