Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   [решено] Добавить свою запись в Службу Windows (http://forum.oszone.net/showthread.php?t=82144)

Luidgy 05-04-2007 17:00 570626

Добавить свою запись в Службу Windows
 
Подскажите, как можно добавить запись в службы Windows?



Erekle 05-04-2007 21:52 570741

В смысле - службу?
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$

Erekle 06-04-2007 06:26 570799

По второму пункту - Srvany.exe и Instsrv.exe:
Цитата:

Hеобходимые файлы из Resource Kit можно взять здесь:
http://adsh.ukrweb.net/win2k/soft/inst_serv.php

Erekle 06-11-2007 00:49 673303

А также: :) Srvinstw - утилита для установки запуска любой программы в качестве сервиса (службы). Выполнена в виде "Мастера" и позволяет как устанавливать новые сервисы, так и удалять ненужные. Очевидно, такая же оболочка, как и AneService.
87 Кб, Freeware, Интерфейс Английский, ОС Windows NT,XP
Конечная ссылка: http://www.softoman.ru/download.php?id=983

и NNCRON - но не Lite, а полный. Но и полный бесплатен для граждан стран бывшего СССР при условии частного и некоммерческого использования.

Erekle 20-04-2008 02:33 785217

Возможность запустить программу как службу появилась в AnVir Task Manager.

RasKolbas 23-08-2009 15:22 1201121

Дали ссылку на тему... наверное метку [решено] придётся временно снять.
Тут одна закавыка есть. Если с помощью Any Service таким образом создал несколько служб, то запускаться они должны от имени LocalSystem или для них отдельную учётную запись заводить? Если первое, то где в системе находится профиль LocalSystem?

0nt0n 24-08-2009 11:22 1201728

Создал службу, как и описал Erekle с помощью instsrv и srvany.
Проблема следующая: если приложение по какой либо причине завершает работу, служба остается висеть в диспетчере задач. Т. е. настройки на вкладке "Восстановление" в свойствах службы в Управлении компьютером оказываются бесполезны. У кого нибудь получалось настроить действия при сбое службы?

RasKolbas 30-08-2009 03:07 1206798

Ладно, опишу более конкретно. Хочу, чтобы две программы (BitTorrent и FlylinkDC++) запускались до авторизации пользователя. Я так понял, что единственный способ это сделать, это прописать программы как службы. Кроме описаной выше непонятки с профилем, есть ещё один пункт - для этого нужно чтобы соединение с Интернетом тоже выполнялось до авторизации пользователя, стало быть нужно вместо виндового VPN-клиента использовать какой-нибудь сторонний, никто не подскажет какой лучше?

Petya V4sechkin 30-08-2009 14:25 1207018

Цитата:

Цитата RasKolbas
для этого нужно чтобы соединение с Интернетом тоже выполнялось до авторизации пользователя

Подключение VPN до входа в систему

Цитата:

Цитата RasKolbas
чтобы две программы (BitTorrent и FlylinkDC++) запускались до авторизации пользователя.

К этим службам будут такие же требования, что и по ссылке выше: запускать от имени обычной (не системной) учетной записи и выставить DependOnService (зависимость от службы, которую создадите для подключения VPN).

P. S. Собственно, так ли уж необходимо именно до авторизации? Можно просто сделать автовход в систему и добавить программы в обычную автозагрузку (не парясь со службами).

Mikekiller 23-01-2011 19:33 1595588

Подскажите, если EXE файл запускается с параметрами, как запустить службу с ними же?


Время: 14:46.

Время: 14:46.
© OSzone.net 2001-