Использование программы nhsms в виде службы Windows даёт возможность автоматического запуска nhsms при включении компьютера без участия пользователя, а также запуска/завершения по сети из командной строки.
Настроить службу nhsms можно следующим образом.

Возможность запуска nhsms в виде службы Windows

Для использования в виде службы предусмотрен отдельный исполняемый файл nhsmssvc.exe, в нём реализована поддержка Service Control Manager, поэтому он корректно отрабатывает команды запуска и остановки служб (альтернативный вариант, основанный на использовании srvany.exe и nhsmscl.exe, возможен, но нежелателен из-за не совсем корректного завершения nhsmscl.exe при остановке службы, см. также тему форума Возможен ли запуск программы в режиме службы?).

Создание службы nhsms

Создайте службу с помощью команды SC Создание службы Windows с помощью программы Sc.exe:
sc create nhsms start= demand binPath= "C:\nhsms\nhsmssvc.exe" DisplayName= "NHSMS service"
Ключевое слово demand задаёт ручной режим запуска службы, замените его на auto для автоматического запуска при включении компьютера.

Для удобства просмотра службы nhsms в списке служб Windows можно добавить её описание, например:
sc description nhsms "Отправляет и принимает СМС через GSM модем"

Для удобства, вместе с программой nhsms приложен командный файл для создания и настройки службы, в нём автоматически подставляется путь, по которому находятся файлы программы:

sc create nhsms start= demand binPath= "%~dp0nhsmssvc.exe" DisplayName= "NHSMS service"
sc description nhsms "Отправляет и принимает СМС через GSM модем"

Если служба nhsmssvc должна будет обращаться к папкам и файлам, защищенным правами доступа, необходимо задать запуск от учётной записи, имеющей полномочия, например, доменной. Это можно сделать в списке служб Windows.

Настройка конфигурации nhsms в режиме службы

Отредактируйте файл nhsms.ini:

  • nhsmssvc всегда работает в режиме постоянной работы (Parameters.RunMode = continuous), игнорируя значение в конфиг файле,
  • рабочим (текущим) каталогом для nhsmssvc является каталог запуска, необходимо учитывать это при прописывании относительных путей в ini файле или запускаемых скриптах и пакетных (командных) файлах,
  • для контроля работы программы используйте параметр Parameters.OutFileName, он позволяет сохранять вывод программы в файл.

Запуск и остановка службы nhsms

Для запуска/остановки службы nhsms в командной строке можно использовать:

  • на том же компьютере – команды NET START/STOP или SC START/STOP,
  • на другом компьютере – команду SC START/STOP

В графическом интерфейсе эти действия можно сделать в окне Службы.

nhsms как служба Windows
Метки:    

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *