Форум: "Начинающим";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
ВнизНесколько вопросов по сервисам начинающего Найти похожие ветки
← →
Strate (2008-03-25 19:44) [0]Доброго всем времени суток.
Я хочу написать сервис, а точнее переделать уже существующее приложение в сервис. С сохранением функционала как сервиса, так и обычно-запускаемого приложения. Пока что вроде всё получается, возникло несколько вопросов.
Всем известно, что сервисы в автоматическом режиме запуска запускаются до входа юзера в систему. Отсюда вопрос: Если сразу при запуске сервиса создать окно, оно создастся или как? Возможно ли как то из под сервиса отловить, вошёл ли юзер в систему? Мне нужно чтобы запустился он до логона, а после логона пихнулась иконка в трей, открылось ещё окошко ну итд...
Спасибо за ответы, ну или киньте ссылкой где про всё это доступно можно почитать.
P.S. Заводить отдельный exe чисто для сервиса не хочу.
← →
Сергей М. © (2008-03-25 20:11) [1]
> Если сразу при запуске сервиса создать окно, оно создастся
> или как?
Нахрена сервису окно ? Начнем с этого ..
← →
Strate (2008-03-25 20:21) [2]Сергей М. © (25.03.08 20:11) [1]
мм.. внутри сервис должен обрабатывать оконные сообщения, в частности нажатия по значку в трее. Но это при логоне.
← →
tesseract © (2008-03-25 20:24) [3]
> мм.. внутри сервис должен обрабатывать оконные сообщения,
> в частности нажатия по значку в трее.
Это делаеться не в сервисе, а в стороннем приложении. Иначе сервис захапает 90% процессорного времени.
← →
Сергей М. © (2008-03-25 20:27) [4]
> Но это при логоне
Логон здесь ни причем.
Причем здесь десктоп, а не логон.
> должен обрабатывать оконные сообщения
Никому он ничего не должен.
Окно и оконные сообщения - епархия аппликаций и апплетов, а не сервисов.
← →
Strate (2008-03-25 20:28) [5]tesseract © (25.03.08 20:24) [3]
Странно. У меня ничего не хапается и сейчас всё нормально обрабатывается.
Кстати в аутпосте тоже ничего не хапается, сделано также, всё в одном exe.
← →
Strate (2008-03-25 20:31) [6]Сергей М. © (25.03.08 20:27) [4]
Т.е. я так понимаю что делать связку сервис+ещё одно прилоежние и связывать их?
Каким тогда образом CCProxy умеет работать как серсивом так и обычной аппликацией, каким образом Outpost Firewall работает и как сервисом и как аппликацией?
← →
Strate (2008-03-25 20:32) [7]Мне надо то всего как то из под сервиса отловить момент входа юзера в систему.
← →
Сергей М. © (2008-03-25 20:34) [8]
> в аутпосте тоже ничего не хапается, сделано также, всё в
> одном exe.
Не трынди.
Аутпост в ипостаси сервиса (по барабану из какого ехе он вылупился при старте) не создает окон и иконки в трей тоже не запуздыривает.
← →
palva © (2008-03-25 20:34) [9]> Если сразу при запуске сервиса создать окно, оно создастся или как?
Если сервису разрешено общаться с рабочим столом, то создастся. В противном случае возможно, что и создастся, но видно его не будет.
Также будут видны окна, сообщающие об ошибках старта сервисов.
← →
Сергей М. © (2008-03-25 20:35) [10]
> Мне надо то всего как то из под сервиса отловить момент
> входа юзера в систему
Надо так надо. Лови. Но причем здесь окна и трей ?
← →
Strate (2008-03-25 20:40) [11]Сергей М. © (25.03.08 20:34) [8]
Не трынди.
Аутпост в ипостаси сервиса (по барабану из какого ехе он вылупился при старте) не создает окон и иконки в трей тоже не запуздыривает.
Мде? Вот 5 минут назад попытался остановить службу Agnitium Outpost Firewall, он меня спросил хочу ли я так поступить, при этом создав окно с сообщением. После этого запустил службу, и каким то чудом запузырилась иконка в трей.
Возможно я не знаю чегото такого просервисы, что знаете Вы? Может лучше просвятить меня, чем говорить "не трынди"? Я со всеми знаниями о программинге не рождался сразу.
← →
Сергей М. © (2008-03-25 20:47) [12]
> он меня спросил
> 5 минут назад попытался остановить службу Agnitium Outpost
> Firewall
Ты ее, наверно, пытался остановить тыкая мышью иконку в трее ?
Сообщения от этой иконки обрабатываются оконной ф-цией аппликации или апплета, в результате обработки сервису передается команда на закругление.
> запустил службу, и каким то чудом запузырилась иконка в
> трей.
Запущенная тобой служба вправе стартовать апплет или аппликацию, которые, в свою очередь, что-то там куда-то там "запуздыривают". Вот и все чудеса.
← →
Strate (2008-03-25 20:53) [13]Хорошо. Тогда поставим вопрос по другому.
Как из-под сервиса отловить момент входа юзера в систему?
P.S. Службу останавливал через оснастку MMC "Службы"
← →
Strate (2008-03-25 20:54) [14]P.S. Использую делфёвый TService
← →
Сергей М. © (2008-03-25 20:57) [15]
> Как из-под сервиса отловить момент входа юзера в систему?
Это совсем другой коленкор.
На эту тему ИШ, пожалуй, даст тебе более профессиональную консультацию.
> Службу останавливал через оснастку MMC "Службы"
>
Опять же не факт, что диал.окно было создано именно процесом сервиса.
Сервис мог известить о поступившей ему команде на закругление тому самому апплету или аппликации, которые, в свою очередь, создали то самое окно.
← →
Сергей М. © (2008-03-25 20:57) [16]
> Использую делфёвый TService
>
Не суть как важно.
← →
Strate (2008-03-25 21:00) [17]Сергей М. © (25.03.08 20:57) [16]
Не суть как важно.
Ну не знаю, я просто всей кухни то не вижу... Оболочку только.
Сергей М. © (25.03.08 20:57) [15]
Сервис мог известить о поступившей ему команде на закругление тому самому апплету или аппликации, которые, в свою очередь, создали то самое окно.
Ну, акромя outpost.exe ничего замечено не было.
← →
Сергей М. © (2008-03-25 21:02) [18]
> Оболочку только
На то и оболочка.
> акромя outpost.exe ничего замечено не было
Ничто не мешает в контексте одного и дого же процесса одновременно "жить" и сервису и обычной аппликации.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.042 c