Перейти к основному контенту

Приложение 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\GKHC\GKHOSTCONNECT2\gkhostconnect.exe       ;Путь до исполняемого файла. Всегда следует использовать полный (абсолютный) путь. Именно этот файл служба ищет в процессах
   enabled=1                                                         ;0 - не отслеживать этот exe, 1 - отслеживать. По умолчанию enabled=0
   parameters=                                                       ;Параметры командной строки для запуска exe
   CommandLine=C:\Projects\GKHC\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