Использование программы 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"
Для удобства просмотра службы 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
В графическом интерфейсе эти действия можно сделать в окне Службы.