Приложение 4 - Отслеживание автоматического запуска приложений.
StarterA1.exe
Файлы программы лежат в папке \FullVersionVer...\UTILS
Данная программа отслеживает, запущено ли приложение, и запускает его при необходимости. Имеется возможность использовать следующие параметры запуска:
- Инсталлировать: StarterA1.exe /install - для инсталляции службы, создать ярлык и прописать в нём после пути к файлу "-install"
- Деинсталлировать: StarterA1.exe /uninstall
- Запустить службу: StarterA1.exe /start
- Остановить службу: StarterA1.exe /stop
Отслеживаются приложения, которые настраиваются в ini-файле, в секции [tasks.XXX] , где XXX - номер приложения от 0 до 100.
[tasks.XXX]
exename = C:\Projects\DELPHI7\GKHOSTCONNECT\GKHOSTCONNECT2\gkhostconnect.exe ;Путь до исполняемого файла. Всегда следует использовать полный (абсолютный) путь. Именно этот файл служба ищет в процессах
enabled=1 ;0 - не отслеживать этот exe, 1 - отслеживать. По умолчанию enabled=0 - не запускать
parameters= ;Параметры командной строки для запуска exe
CommandLine=C:\Projects\DELPHI7\GKHOSTCONNECT\GKHOSTCONNECT2\gkhostconnect.exe dodo
Порядок работы службы
1. Служба каждую секунду проверяет секции [tasks.XXX]
2. Анализирует параметр enabled. Если enabled=1, то см.п.3
3. Служба ищет в процессах процесс exename
4. Если НЕ находит, то анализирует параметры CommandLine, exename и parameters.
5. Если CommandLine НЕ пустой, то служба пытается запустить его. Если CommandLine пустой, то служба создаёт строку exename + parameters и пытается запустить её.
Параметр DelayAfterStart в секции [tasks.XXX] - отвечает за задержку после успешного запуска (в миллисекундах). По умолчанию равен нулю.
[tasks.XXX]
DelayAfterStart=3000
Примеры использования
Рекомендуется создавать отдельную копию утилиты для контроля запуска каждой необходимой программы. Для удобства, внутри ini-файла следует изменять имя и описание Службы. Например:
[Main]
DisplayName = UCS Служба StarterA1 ;Имя сервиса - отображается в графе "Имя" в "Службах"
ServiceName = StarterA1_1 ;Внутреннее имя сервиса (одно слово. Только латинские символы и цифры. Начинается с буквы)
Description = UCS StarterA1 - ServerT1 ;Описание сервиса - отображается в графе "описание" в "службах"
Неполный список утилит, которым требуется контроль автоматического запуска:
- ServerT1
- TcpCardReader
- gkhostconnect