![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запустить приложение как сервис.
Ice2 © (2007-04-19 17:08:00)Как запустить мое приложение как системный сервис win xp, тоесть до входа пользователя в систему?
сторонние программы которые умеют это делать прошу не предлагать.
Leonid Troyanovsky (2007-04-20 09:51:00) [1]
> Ice2 (20.04.07 09:42) [12]
> в который раз слышу пустые разглагольствования на тему является
> ли моя программа сервисом. Да является .
http://rsdn.ru/?summary/2393.xml
--
Regards, LVT.
Юрий Иванов (2007-04-20 09:50:00) [2]Запустить любое приложение (не сервис) до входа в систему можно планировщиком заданий. В настройках на закладке Расписание надо указать "при включении компьютера".
Задача запускается до подключения пользователя и не видна на таскбаре, но видна в диспетчере задач.
Единственным недостатком такого запуска является то, что для такой задачи создается невидимый десктоп, поэтому управлять им будет невозможно.
Ice2 (2007-04-20 09:42:00) [3]Мдаааа
ребят вы сами то понимаете что говорите?
> Рамиль © (19.04.07 17:56) [8]
>
> > Ice2 (19.04.07 17:49) [6]
>
> Так сказали же, никак.
> Перепеши как сервис (см. TServiceApplication)
от этого он запускаться как сервис не начнет.
KSergey
Является
> KSergey © (19.04.07 18:11) [10]
> тем более раз эти утилиты вполне доступны. да и родные они,
> от MS, так что на счет их "стороннести" я бы еще подумал
> :)
Еще раз привожу пример. Radmin может работать как сервис. и В сервисные приложения он устанавливается без помощи других приложений ни левых ни ms-овских, тоесть он сам прописывает себя в сервисы.
Так вот вполне простой вопрос? Где это прописывается от А до Я.
Я уже в который раз задаю вполне конкретный вопрос и уже в который раз слышу пустые разглагольствования на тему является ли моя программа сервисом. Да является.
Так кто нибудь может ответить по существу на мой вопрос?
allucard (2007-04-19 18:52:00) [4]Попробуй создать сервис, а на событие после запуска запускай непосредственно своё приложение.
Ещё при таком запуске можно указать права только в НТ системах.
KSergey (2007-04-19 18:11:00) [5]тем более раз эти утилиты вполне доступны. да и родные они, от MS, так что на счет их "стороннести" я бы еще подумал :)
KSergey (2007-04-19 18:10:00) [6]Хм, а вот интересно: описанным способом - это любой приложение можно стартануть "как сервис" или все же нет? Или они им клиентский десктоп эмулируют?
> Ice2 (19.04.07 17:40) [4]
> допустим что является.
Так вот вы определитесь с этим вопросом уже, без допущений.
Есть четкое определение NT сервиса. И уж либо прога им является - либо нет. Другого не дано.
И если бы она им являлась - то и подобных вопросов у вас не возникало бы. Выходи - не является.
А вот зачем это делать "без сторонних утилит" - не понятно.
Рамиль (2007-04-19 17:56:00) [7]
> Ice2 (19.04.07 17:49) [6]
Так сказали же, никак.
Перепеши как сервис (см. TServiceApplication)
Ice2 (2007-04-19 17:54:00) [8]Самый простой способ установки запуска программы в качестве сервиса (службы) - использование специальной утилиты-мастера srvinstw.exe из комплекта windows 2000 server resource kit. Эта утилита позволяет без труда как устанавливать новые сервисы, так и удалять ненужные.
Кроме этого, в windows 2000 server resource kit входят специально для этого предназначенные консольные программы instsrv.exe и srvany.exe. Для работы с ними нужно будет войти в систему под учетной записью Администратора (administrator), скопировать эти файлы в папку %systemroot%system32, а потом выполнить следующую команду:
instsrv new_service %systemroot%system32srvany.exe
где "new_service" - это любое удобное для вас наименование нового сервиса (как раз им и будет обозначаться создаваемый сервис). Обратите внимание на то, что в том случае, если придуманное имя сервиса содержит пробелы, то его нужно будет заключить в кавычки.
После проведения этой "хитроумной" операции в диалоговом окне 'Управление компьютером' -> 'Сервисы' появится новый сервис, и нужно будет в его свойствах установить способ его запуска - automatic, если сервис должен запускаться при загрузке системы, manual - если вручную, или disabled - отключен.
Но и это еще не все: в разделе реестра, соответствующем имени создаваемого сервиса ( hkey_local_machine system currentcontrolset services new_service parameters ) необходимо создать строковый параметр "application" (без кавычек), значением которого должен быть указан полный путь к исполняемому файлу программы, которую необходимо запускать как сервис.
Вот как сделать тоже самое но без сторонней программы?
Ice2 (2007-04-19 17:49:00) [9]нет 9х они были только работали несколько подругому, но принцип был тотже.
и вообще Сергей я спрашиваю про одно а ты мне далдонишь про другое.
Вопрос был конкретный как запустить приложение как системный сервис
не уходи от темы пожалуйста
Сергей М. (2007-04-19 17:42:00) [10]
> к примеру в win 9х
В win 9х сервисов нет вообще.
Сервисы "родились" в НТ-линейке ОС, к которой "маздай" (т.е. Win9x) не имеет ни малейшего отношения.
Ice2 (2007-04-19 17:40:00) [11]допустим что является.
но вопрос был не в том является ли мое приложение НТ-сервисом
а каким образом запустить его как сервис.
тоесть что и куда надо прописать.
к примеру в win 9х была специальная ветвь реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServises\
Сергей М. (2007-04-19 17:30:00) [12]
> к примеру Radmin запускается как системный сервис.
Radmin и есть полноценный НТ-сервис)
А является ли твоеприложение таковым - эт еще бабушка надвое сказала)
Ice2 (2007-04-19 17:17:00) [13]Что значит приложение изначально не есть полноценный НТ-сервис?
к примеру Radmin запускается как системный сервис.
вот и мне надо запустить приложение так же как Radmin запускается
Сергей М. (2007-04-19 17:10:00) [14]
> Как запустить мое приложение как системный сервис
А никак.
Если твое приложение изначальноне есть полноценный НТ-сервис, то хоть с луны его запускай - полноценным сервисом оно при этом не станет.