ActiveX обьект для создания роботов на скриптах WSH 1.0

Не ищите здесь какого-то универсального решения для поддержки из VBS любых окон и Windows API. Данный обьект предназначен для более узкой цели. Представьте себе, что вам поставили задачу контролировать доступность и своевременное изменение какого-нибудь файлика, появление новых записей в SQL-сервере, появление новой почты или что-нибудь подобное. Существует целый класс таких задач, в которых нужны контролирующие роботы, проверяющие файлы на их существование, доступность, дату и время, содержимоме. Чего же нам не хватает в WSH? Скрипт может быть запущен как сервис, да и сам по себе может работать совершенно невидимо. С помощью лог-файлов в принципе можно наблюдать за его работой, и контролировать работоспособность. Со снятием и перезапуском роботов WSH есть некоторые проблемы, хотя и терпимые. Например, снимать и перезапускать робот как сервис требует некоторых специальных телодвижений, снимать через список процессов - тоже телодвижения, в обоих случаях может потребоваться доступ к удалённому рабочему столу. Принудительное снятие может прервать некоторую важную транзакцию. Да и наблюдаемость тоже не слишком комфортна. Удобней было бы, чтобы робот прятался в трее, открывал окно по клику, в окне можно было бы посмотреть скроллинг событий и текущее состояние, по кнопочке остановить или перезапустить робот, по другой остановить или перезапустить робот на другом компьютере. Для решения этих задач и предназначен данный ActiveX. Он предлагает до восьми кнопок, области скроллинга и текущего состояния, поддерживаем обмен по мейлслотам. Для тех, кто эксплуатирует комплекс СК-2003, он также может принимать через компонент доступа к данным текущие и архивные параметры (телеизмерения и телесигналы), изменять их, и даже считать интегралы. В целях достижения простоты и прозрачности кода здесь не используется обработка ActiveX-сообщений callback процедурами. Состояние кнопок, контролируется простым опросом раз в 100 миллисекунд или чаще, телеизмерения принимаются потоком, свежие значения хранятся в памяти ActiveX, и предоставляются скрипту, когда он этого захочет. То есть на уровне скрипта текущее ТИ запрашивается, на уровне KddAcx.dll текущее ТИ принимается по изменениям.

© freeSOFT SERVER