Показать полную графическую версию : [решено] Добавить свою запись в Службу Windows
Подскажите, как можно добавить запись в службы Windows?
В смысле - службу?
1. Any Service - создание службы из приложения.
Вас когда-нибудь посещала мысль запустить приложение как системную службу? Например, Punto Switcher или CLCL или Speed Fan...? Знаете ли Вы, что запущенное таким образом приложение, работает гораздо быстрей и занимает места в памяти намного меньше обычного? Лично я, это ощутил когда запустил WinLIRC и uICE как службы...
Теперь по сути: программа является оболочкой двух стандартных утилит srvinstw и instsrv из комплекта Windows 2000 Server Resource Kit. Я не стал изобретать велосипед, а просто зашил эти две утилиты в ресурсы программы («все гениальное - просто» J).
Возможности: создание и удаление служб. Не требует установки. Не оставляет следов ни в реестре ни на диске.
Требования: Windows не старше 4 версии (2000) и права администратора.
Известные проблемы: перед первым запуском, желательно отключить антивирусную программу иначе дальнейшая работа программы будет невозможна, т.к. при первом запуске, она ищет обе утилиты в папке %WINDIR%\System32\ и если не находит, копирует их из собственного ресурса.
Пока не решена проблема с параметром «Взаимодействие с рабочим столом»! Если этот параметр включен вместе с параметром «Запустить сразу после создания», то параметр «Взаимодействие с рабочим столом» не будет иметь силу! Возможное решение этой проблемы, полная перезагрузка компьютера.
Бесплатно скачать 49 кб zip-архив - http://softoys.vlz.ru/download/anyserv.zip
Не знаю, как в XP. Пусть скажут спецы.
2. Из FAQ по (опять же) Windows 2000
Srvany & Instsrv
With Srvany, you can configure any Windows application so that it runs as a service.
Утилита, позволяющая запускать любую программу как службу, позволяя тем самым создавать пользовательские службы. srvany используется только для запуска, принимая в качестве аргумента имя приложения. Для инсталляции приложения как службы используется instsrv.exe.
См. Srvany & Instsrv http://www.cgisys.cz/auto_print/srvany.htm (или http://www.cgisys.cz/auto_print/index.html?srvany.htm )
и "Как запустить программу как сервис": http://faqs.org.ru/os/win2000/win20004.htm
Как запустить программу как сервис?
A: 1. Лучше всего это делать под аккаyнтом админа, тогда пpи любом дpyгом аккаунте созданный сервис будет продолжать работать.
2. Копиpyете файлы instsrv.exe и srvany.exe в какyю-нибyдь системнyю диpектоpию, напpимеp, в winnt\system32\ (Берутся из Resouce Kit \compmgmt.cab\srvany.exe, instsrv.exe. Ещё есть srvinstw - это GUI пошаговая оболочка делающая то же, что и instsrv, но ещё может ставить/сносить службы удаленно).
3. Запyскаете из командной стpоки: instsrv MyService c:\полный_пyть\srvany.exe где MyService -- пpидyманное вами имя вновь созданного сеpвиса. Если в имени имеются пpобелы, то имя сеpвиса необходимо заключить в кавычки.
4. Тепеpь надо сконфигypиpовать этот сеpвис. Идёте в: Start -> Settings -> Control Panel -> Services, находите свой новосозданный сеpвис и щёлкаете на нём 2 pаза левой кнопочкой мышки. В откpывшемся окошке отмечаете, каким способом ваш сеpвис бyдет запyскаться: Automatic - бyдет запyскаться автоматически пpи загpyзки компьютеpа, Manual - бyдет запyскаться только, когда вpyчнyю запyстите, Disabled - совсем не бyдет запyскаться. Если хотите видеть заппущенный сеpвис в виде окна на десктопе, то отметьте чек-бокс "Allow Service to Interact with Desktop".
5. Запyскаете regedt32 и создаёте key "Parameters" (без кавычек) в: HKLM \ SYSTEM \ CurrentControlSet \ Service \ Имя_Вашего_сеpвиса \
6. Создаёте под созданным вами ключом "Parameters" (без кавычек) value "Application" (без кавычек) тип -- REG_SZ: и пpописываете там полный пyть к исполняемомy файлy.
Hапpимеp, Application: REG_SZ: c:\полный_пyть\t-mail.cmd
7. Пеpезагpyжаете компьютеp или стартуете сервис вручную.
Выходить из таких сеpвисов лyчше по флагy.
3. AppToService (formerly ServiceIt)
Также можно воспользоваться программой AppToService от компании Basta Computing, Inc. http://www.basta.com
Shareware with a 30 days, 20$
По второму пункту - Srvany.exe и Instsrv.exe:
Hеобходимые файлы из Resource Kit можно взять здесь:
http://adsh.ukrweb.net/win2k/soft/inst_serv.php
А также: :) Srvinstw (http://softsearch.ru/programs/237-607-srvinstw-exe-download.shtml) - утилита для установки запуска любой программы в качестве сервиса (службы). Выполнена в виде "Мастера" и позволяет как устанавливать новые сервисы, так и удалять ненужные. Очевидно, такая же оболочка, как и AneService.
87 Кб, Freeware, Интерфейс Английский, ОС Windows NT,XP
Конечная ссылка: http://www.softoman.ru/download.php?id=983
и NNCRON (http://www.nncron.ru) - но не Lite, а полный. Но и полный бесплатен для граждан стран бывшего СССР при условии частного и некоммерческого использования.
Возможность запустить программу как службу появилась в AnVir Task Manager (http://www.anvir.com/anvirrus.exe).
RasKolbas
23-08-2009, 15:22
Дали ссылку на тему... наверное метку [решено] придётся временно снять.
Тут одна закавыка есть. Если с помощью Any Service таким образом создал несколько служб, то запускаться они должны от имени LocalSystem или для них отдельную учётную запись заводить? Если первое, то где в системе находится профиль LocalSystem?
Создал службу, как и описал Erekle с помощью instsrv и srvany.
Проблема следующая: если приложение по какой либо причине завершает работу, служба остается висеть в диспетчере задач. Т. е. настройки на вкладке "Восстановление" в свойствах службы в Управлении компьютером оказываются бесполезны. У кого нибудь получалось настроить действия при сбое службы?
RasKolbas
30-08-2009, 03:07
Ладно, опишу более конкретно. Хочу, чтобы две программы (BitTorrent и FlylinkDC++) запускались до авторизации пользователя. Я так понял, что единственный способ это сделать, это прописать программы как службы. Кроме описаной выше непонятки с профилем, есть ещё один пункт - для этого нужно чтобы соединение с Интернетом тоже выполнялось до авторизации пользователя, стало быть нужно вместо виндового VPN-клиента использовать какой-нибудь сторонний, никто не подскажет какой лучше?
Petya V4sechkin
30-08-2009, 14:25
для этого нужно чтобы соединение с Интернетом тоже выполнялось до авторизации пользователя
Подключение VPN до входа в систему (http://forum.oszone.net/thread-147555.html)
чтобы две программы (BitTorrent и FlylinkDC++) запускались до авторизации пользователя.
К этим службам будут такие же требования, что и по ссылке выше: запускать от имени обычной (не системной) учетной записи и выставить DependOnService (зависимость от службы, которую создадите для подключения VPN).
P. S. Собственно, так ли уж необходимо именно до авторизации? Можно просто сделать автовход в систему (http://forum.oszone.net/thread-46324.html) и добавить программы в обычную автозагрузку (не парясь со службами).
Mikekiller
23-01-2011, 19:33
Подскажите, если EXE файл запускается с параметрами, как запустить службу с ними же?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.