Если хотите запускать любое приложение как системную службу, то это можно реализовать при помощи системных утилит SRVINSTW.EXE и SRVANY.EXE которые поставляются в windows xp resource kit. Если у вас нет данных утилит, вы можете загрузить их отсюда .
Рассмотрим установку приложения службой Windows:
1. — Необходимо скопировать все распакованные файлы в папку %systemroot%system32 и запустить файл SRVINSTW.EXE
2. — Выбираем пункты: Install as a service > Local Machine > Даем название новой службе > Указываем полный путь к приложению > Выбираем пункт Service is its own process > Выбираем аккаунт пользователя для которого запускаем службу (обычно System account) > Выбираем тип запуска службы (прим. Automatic) > Finish
3. — Редактируем службу: заходим в редактор реестра, находим там ключ HKEY_LOCAL_MACHINESYSTEMCurrent Control SetServices и добавляем раздел Parameters. В нем создаем строковые параметры Application — значением которого должен быть указан полный путь к исполняемому файлу программы, которую необходимо запускать как службу и AppDirectory — полный путь к исполняемому файлу. Если приложение должно запускаться с какими-либо ключами, изменяем значения параметров Application и ImagePath. Параметр Description отвечает за описание службы.
Как настроить автозапуск программ и служб в Windows? | Complandia
Как альтернатива пункта 2, можно в командной строке ввести следующее: instsrv your_service %SystemRoot%system32srvany.exe, где «your_service» — это любое наименование новой службы. Если придуманное имя службы содержит пробелы, то его нужно будет заключить в кавычки.
Источник: dimanb.wordpress.com
Автозапуск программы как службы
Службы Windows (Windows Service) — приложения (программы), работающие в фоновом режиме, без пользовательского интерфейса. Грубо говоря, некий аналог демонов в Unix системах.
Управление работой служб с помощью консоли управления.
Для управления службами в Windows существует графическая утилита — службы (services.msc), для ее запуска необходимо перейти:
Панель управления (Control Panel) —> Администрирование (Administrative Tools) —> Службы (Services) или в строке поиска меню Пуск (Start) ввести services.msc.
Вид окна службы services.msc.
Из этой консоли можно просматривать, запускать, останавливать, изменять параметры и тип запуска служб.
Различные варианты запуска служб.
1) Автоматически (отложенный запуск) — служба будет запущена спустя некоторое время после старта операционной системы, используется для служб, ненужных при загрузке операционной системы, позволяет оптимизировать процесс загрузки.
Автозагрузка Windows. Создание Удаление служб
2) Автоматически — служба будет запущена при старте операционной системы.
3) Вручную — служба запускается пользователем, приложениями или другими службами.
4) Отключена – службу нельзя запустить.
Примечание: Существует еще один вариант (обязательная служба) — автоматически запускается и пользователь не может остановить эту службу).
Управление службами из командной строки.
Службами window можно управлять не только используя графическую утилиту, но и из командной строки windows cmd. Для запуска переходим в пункт меню: Пуск —> Выполнить —> В строку вводим команду cmd.exe. Ниже приведу команды для управления службами.
sc stop [имя_службы]
sc start [имя_службы]
sc delete [имя_службы]
Установка режима запуска службы:
sc config [имя_службы] start= [параметр_запуска] параметр_запуска: auto — автоматически. demand — вручную. disabled — отключена. Примечание: После start= должен идти обязательно пробел.
Запрос данных конфигурации для службы.
sc qc [имя_службы]
Просмотр всех служб:
sc query
Для удобства чтения выводимой информации используем утилиту more.
sc query | more
Для копирования вывода в буфер используем утилиту clip.
sc query | clip
Вывод справки по команде sc.
Примечание: Если имя службы содержит пробелы, то необходимо его заключить в кавычки.
sc delete “Events Utility”
Особенностью служб является то, что они запускаются от имени пользователя LocalSystem — обладающего полными правами в системе.
Список всех служб расположен в ветке реестра:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
На этом заканчиваем знакомство со службами windows. Надеюсь статья была полезная.
Источник: admin-gu.ru
Автозапуск программы как службы
На протяжении всей темы идёт жёсткий спор. Единственное что понял, так это надо писать свою службу File > New > Service Application
Ну почему же. Там ясно указаны ветки реестра, в частности:
HKEY_LOCAL_MACHINESoftwareMicroso ftWindowsCurrentVersionRun
HKEY_LOCAL_MACHINESoftwareMicroso ftWindowsCurrentVersionRunServic es
Впрочем, последняя — как раз для службы.
Второй вариант — написать программу и воспользоваться сторонней утилитой для запуска свой проги как службы (например, FireDaemon)
Третий способ — использовать ветвь реестра: HKLMSYSTEMCurrentControlSetContr olSession ManagerBootExecute
Вот цитата с саппорта мелкомягких:
HKEY_LOCAL_MACHINESoftwareMicroso ftWindowsCurrentVersionRunServic es
HKEY_CURRENT_USERSoftwareMicrosof tWindowsCurrentVersionRunOnce
За исключением раздела HKEY_LOCAL_MACHINE. RunOnce, все разделы и записи в них загружаются асинхронно. Таким образом, все записи в разделах RunServices и RunServicesOnce могут выполняться одновременно.
Записи раздела HKEY_LOCAL_MACHINE. RunOnce загружаются синхронно, в неопределенном порядке.
Поскольку раздел HKEY_LOCAL_MACHINE. RunOnce загружается синхронно, все его записи должны быть загружены до того, как загрузятся записи разделов HKEY_LOCAL_MACHINE. Run, HKEY_CURRENT_USER. Run, HKEY_CURRENT_USER. RunOnce и папки «Автозагрузка».
Разделы RunServicesOnce и RunServices загружаются до входа пользователя в систему Windows 95, Windows 98 или Windows Me. Поскольку эти два раздела запускаются неодновременно с диалоговым окном входа в систему, их запуск может продолжаться и после входа пользователя. Однако, поскольку раздел HKEY_LOCAL_MACHINE. RunOnce должен загружаться синхронно, его записи не начнут загружаться, пока не закончится загрузка разделов RunServicesOnce и RunServices.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы.
Последний раз редактировалось Stilet; 19.08.2012 в 15:25 .
Источник: www.programmersforum.ru