Секреты Windows XP/Запуск программы как сервис в ХР.

Q

QoSyS

Нашел интересную статью, про запуск программы как сервис, читаем все.



Один из самых часто встречающихся вопросов, связанных с Windows XP - это вопрос о возможности запуска программ как сервиса, что дает определенные преимущества.

Сделать это не так трудно, как считается, для этого необходимо скачать определенный пакет утилит, называемый srvany. пакет состоит из двух утилит INSTSRV.EXE и SRVANY.EXE.

Для начала необходимо скопировать эти файлы в системную директорию %windir%/system32. Затем необходимо запустить файл SRVANY.EXE из командной строки, используя следующий синтаксис: "Instsrv ServiceName %windir%\srvany.exe", Где ServiceName - придуманное имя сервиса. Если всё сделано правильно, то появится сообщение, подтверждающее успешное создание сервиса (The service was successfuly added).

Теперь зайдите в Администрирование - Службы (Services). Находите только что созданную службу, двойной клик вызывает свойства сервиса. На первой вкладке можно выбрать параметры запуска - Automatic (автоматически при загрузке компьютера), Manual (Вручную) и Disabled (отключено). Для работы созданного сервиса в отдельном окне необходимо отметить на второй вкладке (Вход в систему) пункт Allow Service to Interact with Desktop (Разрешить взаимодействие с рабочим столом). Пока всё.

Следующим шагом является редактирование реестра. Запускаем редактор реестра Regedit. (Если не знаете, как прочитайте здесь). Шагаем к ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\ и находим имя сервиса здесь. Создаем раздел "Paremeters" (без кавычек) и в этом разделе прописываем путь к программе, которую мы хотим запустить, следующим образом: Строковой параметр: "Application" значение - путь к программе (c:\ file.exe). ВСЁ. Ниже представлен отрывок из экспортированного файла моего сервиса (Apox), который автоматически запускает одну из серий Масяни.


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\apox]"Type"=dword:00000110"Start"=dword:00000004"ErrorControl"=dword:00000001"ImagePath"=hex(2):63,00,3a,00,5c,00,77,00,69,00,6e,00,64,00, 6f,00,77,00,73,00,\5c,00,73,00,79,00,73,00,74,00,6 5,00,6d,00,33,00,32,00,5c,00,73,00,72,00,76,\00,61 ,00,6e,00,79,00,2e,00,65,00,78,00,65,00,00,00"DisplayName"="apox""ObjectName"="LocalSystem"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\apox\parameters]"Application"="C:\\masyana.exe"

Запустить сервис, если он не отключен, можно несколькими способами, во-первых через командную строку: Net Start ServiceName - где SеrviceName - имя Вашего сервиса. И другим способом - непосредственно через апплет административной панели - службы.

Хорошо, сервис установлен, запущен, а как же его удалить ведь стандартным Delete не обойдешься. Сначала сервис необходимо остановить: net stop ServiceName, затем опять же в коммандной строке выполняем команду INSTSRV MyService remove.

Источник:http://www.gyry.net


для справки: (чтоб знали) : описаные утилиты: instsrv.exe и srvany.exe входят в пакета Для просмотра ссылки Войди или Зарегистрируйся, который предназначен для решения различных задач администрирования системы...вообщем для расширения возможностей...
 
Последнее редактирование модератором:

ALEXRUS

Свой
Регистрация
16 Окт 2004
Сообщения
975
Реакции
62
Credits
2
Было бы не плохо источник указать тогда.
 

z0id

Местный
Регистрация
18 Апр 2005
Сообщения
389
Реакции
183
Credits
0
для справки: (чтоб знали) : описаные утилиты: instsrv.exe и srvany.exe входят в пакета Для просмотра ссылки Войди или Зарегистрируйся, который предназначен для решения различных задач администрирования системы...вообщем для расширения возможностей...
 

Bind

Турист
Регистрация
17 Фев 2006
Сообщения
14
Реакции
0
Credits
18
А я пользуюсь командной строкой + планировщиком. Попробуйте очень просто и удобно.
 

chthulhu

Турист
Регистрация
26 Янв 2006
Сообщения
12
Реакции
0
Credits
14
очень хорошая статья
удобно для программ под Win2003