...назад

ВСТРОЕННЫЕ ИНСТРУКЦИИ

Вместо команд запуска приложений или команд для оболочки Windows в командной строке расписания может быть помещена одна из специальных встроенных инструкций, выполняемых самим Runner'ом.
Встроенные инструкции так же, как команды, планируются по времени или событиям, то есть поле времени в командной строке расписания, содержащей встроенную инструкцию, не отличается от поля времени в любой другой команде. Синтаксически встроенные инструкции отличаются от команд тем, что в качестве первого символа поля команды (модификаторы в инструкциях не применяются) стоит символ ">" ("больше"), после которого без пробелов помещается имя инструкции. Дальнейшая часть строки зависит от конкретной инструкции.
Никакие модификаторы команд не действуют на встроенные инструкции.
Встроенные инструкции предназначены как для управления работой программы, так и для выполнения дополнительных сервисных функций, некоторые из них принимают участие и в процессе планирования задач. В соответствии с этими тремя типами задач они разделяются на три вида:
  1. Служебные инструкции для управления выполнением Runner'a
  2. Инструкции для управления выполняющимися приложениями. Этот вид инструкций введен потому, что обычные исполнимые команды выполняют одну единственную функцию: запускают приложение. Однако, этим потребности пользователя не ограничиваются. Некоторые из последних призваны удовлетворять перечисленные инструкции.
  3. fw - инструкция манипуляции окнами ("find window"). Назначение - автоматическое управление окнами (и приложениями, создавшими окна), включая изменение размера и положения, состояния (разврнутое на весь экран/нормальное/ свернутое в значок/скрытое), закрытие окна и аварийное завершение приложения, создавшего окно, эмуляция "мышиного" и клавиатурного ввода. Дополнительно эта инструкция позволяет осуществлять реакцию на присутствие в системе какого-либо окна путем выполнения любой другой команды или инструкции расписания Runner-а. Инструкция позволяет использовать в качестве целевого как TOP-LEVEL окно (окна, имеющие заголовок и способные независимо перемещаться в пределах "рабочего стола", то есть то, что собственно и принято называть окно), так и CONTROL (элементы управления, расположенные в пределах top-level окна, например: кнопки, одно- и многострочные окна ввода текста, линейки прокрутки и т.д.). Любой элемент управления является с точки зрения системы Windows таким же окном. Все окна в системе имеют свойство текст (хотя у некоторых это свойство может быть пустой строкой). Текст top-level окна - это строка, помещенная в заголовок окна, текст control-a размещается поверх (или внутри) самого элемента управления (например, редактируемая строка в окне редактирования или название кнопки). Кроме того, любое окно, включая и окна элементов управления, имеют свойство класс, то есть, являясь системными объектами, принадлежат к некоторому множеству, называемому классом. Классы, в свою очередь, имеют название. Таким образом, "пролистав" список top-level окон, можно отобрать одно или несколько из них, используя в качестве критерия текст окна или название класса. Для каждого из выбранных окон можно выполнить одну из вышеуказанных операций или же "пролистать" список дочерних элементов управления выбранного окна таким же образом и выполнить операцию для тех из них, которые удовлетворят заданному критерию. Инструкция fw и выполняет подобный поиск и выборку окон.
    Формат инструкции:
    время>fw{критерий_отбора}=операция
    где
  4. ie - эмуляция событий ввода. Под событиями ввода в данном случае подразумеваются действия пользователя на клавиатуре и мыши, а именно, нажатие и отпускание клавиш, клики и движения манипулятора. Инструкция ie позволяет воспроизвести действия пользователя безотносительно окон, поскольку действует на уровне драйвера, инициируя реакцию ОС на соответствующие события, в отличие от fw, которая эмулирует действия ОС, а не пользователя, путем отправки выбранным окнам сообщений. Формат:
    время >ie=макроопределение
    Макроопределение состоит из последовательности событий, записанных в соответствии со следующими правилами: Следующий фрагмент можно использовать в качестве расписания, как есть, для иллюстрации работы инструкции:
    	; ===== begin Runner schedule
    	[ev]
    	~#mspaint
    	+3>ie=DEFDELAY(50)ACT(Paint)<CTRL <SHIFT n>>*+
    		MAX MOVEW(120,220) <LBUTTON MOVER(0,-100) MOVER(0,50) MOVER(30,0)*+
    		MOVER(0,-50)MOVER(0,100)>MOVER(30,0)<LBUTTON *+
    		MOVER(0,-80)MOVER(20,0)>MOVER(-5,40)<LBUTTON *+
    		MOVER(-15,0)MOVER(0,40)MOVER(20,0)>*+
    		MOVER(30,0)<LBUTTON MOVER(0,-80)>*+
    		MOVER(30,0)<LBUTTON MOVER(0,80)>*+
    		MOVER(-35,0)<LBUTTON MOVER(10,0)>MOVER(20,0)<LBUTTON MOVER(10,0)>*+
    		MOVER(30,0)<LBUTTON MOVER(0,-80)MOVER(20,0)MOVER(0,80)MOVER(-20,0)>*+
    		<CTRL f>DELAY(3000)CTRL <CTRL <SHIFT n>> CLOSE TAB ENTER
    	+15>ex
    	; ===== end Runner schedule
  5. as - запуск службы Windows NT. Службы (сервисы) - приложения семейства Windows, предназначенные для выполнения различных сервисных (как правило, серверных) функций и имеющие отличный от прочих метод запуска. Приложение-сервис, как правило, запускается при загрузке ОС и функционирует независимо от того, зарегистрировался в системе пользователь или нет. В основном службы используются в Windows NT, в состав Windows 9x включено ограниченное подмножество функциональности системы служб, поэтому данная инструкция представляет интерес только при использовании на платформе NT. Инструкция позволяет выполнить запуск любой зарегистрированной службы NT.
    • Формат: время>as [h:хост] n:служба [c:ком_строка]
      где хост - имя компьютера, на котором следует запустить службу (только при установленной и запущенной службе RPC), при запуске службы на том же компьютере данный параметр не используется; служба - имя запускаемой службы, так, как его показывает вкладка "Службы" ("Services") "Панели управления", это обязательный параметр; ком_строка - необязательная строка параметров, передаваемая запускаемой службе в некоторых случаях (зависит от службы). Ключевые символы h:, n: и c: являются обязательными при наличии соответствующего параметра инструкции. При наличии пробелов в одном из параметров следует заключить его в двойные кавычки, включая и ключевой символ (см.пример).
    • Пример: 06:00>as h:MAINSERVER "n:Служба сетевого DDE"
      данная команда запустит в 6.00 службу "Служба сетевого DDE" на хосте MAINSERVER.
  6. ts - остановка службы Windows NT. Инструкция, обратная к инструкции as и аналогична ей по формату, за исключением того, что отсутствует командная строка.
  7. Дополнительные сервисные инструкции, выполняющие самые разнообразные функции.

... дальше