Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];

Вниз

Приложение (сервис) - как сие организовать в Deiphi?   Найти похожие ветки 

 
BenGen   (2007-09-10 12:39) [0]

Здравствуйте Уважаемые!

Вопрос такой: Как написать приложение и запустить его как сервис Windows?

А то я Прописываю свою утилитку в Автозагрузку а Винда под паролем и как следствие Утилита в Автозагрузке не выполняется! А надо чтоб не вводя пароль - утилита стартанула как служба Windows!


 
BenGen   (2007-09-10 12:42) [1]

Сорри за опечатку! Delphi


 
Palladin ©   (2007-09-10 12:48) [2]

ну и пиши в виде сервиса

File\New\Other\Service Application


 
homm ©   (2007-09-10 12:51) [3]

> и как следствие Утилита в Автозагрузке не выполняется

Не запуск программ из автозагрузки — следствие пароля на учетке??? Что-то новенькое.


 
palva ©   (2007-09-10 12:55) [4]

> следствие пароля на учетке???
Следствие того, что пользователь не вошел в аккаунт, а винда висит на окне ввода пароля.


 
BenGen   (2007-09-10 12:57) [5]


> <Цитата>
>
> homm ©   (10.09.07 12:51) [3]


Чему смеёмся? Обязательное условие - на винде должен быть установлен пароль для входа в систему! А так как он имеется - всё что весит в автозапуске не звпустится пока не будет выполнен вход в систему! А надо так - когда тачку ребутнули - прога сервис стартовала без входа Пользователя в систему т.е как сервис!


 
homm ©   (2007-09-10 12:58) [6]

> [4] palva ©   (10.09.07 12:55)

Не совсем понимаю разницу между «пользователь не вошел в систему, поотму что система еше не прогрузилась» и «пользователь не вошел в систему, потому что еше не ввел пароль». Тут 2 выриаента, какая-то программа должна стартовать либо до, либо после того как пользователь вошел. Пароль вообще лесом.


 
homm ©   (2007-09-10 13:00) [7]

> [5] BenGen   (10.09.07 12:57)
> Чему смеёмся?

«Я спросил у соседа, „отчего ты так глуп“,
Он принял мои слезы за смех.»
© БГ


> А так как он имеется - всё что весит в автозапуске не звпустится
> пока не будет выполнен вход в систему!
А если не меняеться — запустится?


 
BenGen   (2007-09-10 13:01) [8]


> palva ©   (10.09.07 12:55) [4]


Совершенно верно и не оспоримо!


 
homm ©   (2007-09-10 13:01) [9]

> [7] homm ©   (10.09.07 13:00)
> А если не меняеться — запустится?

Прошу прощения, не то прочитал, но сути вопроса не меняет, пароль скорее всего непричем.


 
BenGen   (2007-09-10 13:02) [10]


> homm ©   (10.09.07 13:00) [7]


Не зависимо от того выполнен ли вход в систему - программа должна запустится!


 
homm ©   (2007-09-10 13:03) [11]

> А так как он имеется - всё что весит в автозапуске не звпустится
> пока не будет выполнен вход в систему!

А если пароля не будет, это «все в автозагрузке» запустится до входа в систему?


 
homm ©   (2007-09-10 13:03) [12]

> [10] BenGen   (10.09.07 13:02)
> Не зависимо от того выполнен ли вход в систему - программа
> должна запустится!

Вот! Наконец-то! Пароль, как я и говорил, лесом.


 
BenGen   (2007-09-10 13:05) [13]

Не хилое отступление получилось))) Так а теперь к теме!


 
Anatoly Podgoretsky ©   (2007-09-10 13:06) [14]

> BenGen  (10.09.2007 12:57:05)  [5]

Пароль тут ни причем, тоже будет и без пароля, если только не включен автоматический вход в систему, но пароль тут ни причем.


 
BenGen   (2007-09-10 13:08) [15]


> Anatoly Podgoretsky ©   (10.09.07 13:06) [14]


Спс за Навуку) Так как мне быть? В какую сторону смотреть?


 
homm ©   (2007-09-10 13:09) [16]

> [15] BenGen   (10.09.07 13:08)
> В какую сторону смотреть?

Как в какую?

в сторону [2]


 
BenGen   (2007-09-10 13:12) [17]


> homm ©   (10.09.07 13:09) [16]


емко! типо rtfm!


 
homm ©   (2007-09-10 13:14) [18]

> [17] BenGen   (10.09.07 13:12)

Почему rtfm? Меню файл видишь? По нему клацай, там пункт new… будет.

Или тебе нужна литература?


 
BenGen   (2007-09-10 13:16) [19]


> homm ©   (10.09.07 13:14) [18]


Енто мне известно! Я как енто в коде организовать! типо регистрация сервиса, запуск, остановка и т.д ...


 
palva ©   (2007-09-10 13:23) [20]

регистрация сервиса, запуск, остановка
Для регистрации (для установки службы) переписать exe-файл в нужное место и запустить его из командной строки с параметром /install
запуск: NET START <имя службы>
остановка: NET STOP <имя службы>
для автоматического запуска поставить нужные параметры в менеджере служб.


 
DVM ©   (2007-09-10 15:39) [21]


> А так как он имеется - всё что весит в автозапуске не звпустится
> пока не будет выполнен вход в систему!

До тех пор пока не будет запущен эксплорер, точнее.


 
BenGen   (2007-09-10 17:16) [22]


> DVM ©   (10.09.07 15:39) [21]


Да!


 
BenGen   (2007-09-11 06:21) [23]

Сорри! Нет ли примерчика по созданию Приложения-сервиса, если можно и это вас не затруднит, рабочего! Буду очень признателен!


 
DVM ©   (2007-09-11 10:38) [24]


> Нет ли примерчика по созданию Приложения-сервиса, если можно
> и это вас не затруднит, рабочего!

Ты Delphi запускал? Там примерчик есть среди шаблонов.


 
BenGen   (2007-09-11 10:57) [25]

Приложение создал по совету: http://www.realcoding.net/article/view/4164

Обозвал его TITservices.exe

Но приклике в трее по иконке сервиса, вылазиет ошибка:
Access Violation at Adress 0045D704 in module TITservices.exe


procedure tfabout.wmmidasicon(var message: tmessage);
var pt: tpoint;
begin
 case message.lparam of
   wm_rbuttonup: begin
       if not visible then
       begin
         setforegroundwindow(handle);
         getcursorpos(pt);
         popupmenu.popup(pt.X, pt.Y); // Место ошибки!
       end
       else
         setforegroundwindow(handle);
     end;
   wm_lbuttondblclk: if visible then
       setforegroundwindow(handle)
     else
       mipropertiesclick(nil);
 end;
end;


 
DVM ©   (2007-09-11 11:03) [26]


> Но приклике в трее по иконке сервиса, вылазиет ошибка:

Этот примерчик нерабочий в принципе. Это раз.
А для взаимодействия с сервисом и отображения иконок обычно делают отдельную программу. Это два.
Окна в сервисах - это извращение. Это три.


 
BenGen   (2007-09-11 11:06) [27]


> DVM ©   (11.09.07 11:03) [26]


Во приехали! Дык... Так как надо то?


 
DVM ©   (2007-09-11 11:09) [28]


> Так как надо то?

Так как я написал примерно. Что ты хочешь конкретно опиши?


 
BenGen   (2007-09-11 11:10) [29]

Прога пашет!
Иконка в трее весит!
При двойном клике левой кнопой мыши форма О Проге вылазиет!
Но  при клике правой кнопой мыши по иконке в трее Лезет ошибка! BenGen   (11.09.07 10:57) [25]

Как сие исправить? мне пока и ентого хватит - для своих нужд!


 
DVM ©   (2007-09-11 11:14) [30]


> Как сие исправить? мне пока и ентого хватит - для своих
> нужд!

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

После входа пользователя в систему, если у службы отмечено "Взаимодействи с рабочим столом", то окна на десктоп она выкидывать сможет, но вот иконку она уже не добавит, если следовать тому коду, что ты привел.


 
DVM ©   (2007-09-11 11:16) [31]

Поэтому и делают отдельно сервис, отдельно программа для взаимодействия с ним и возможно отдельно программы для его настройки и создания иконок в области уведомлений.

Программу, создающую иконки сервиса в области уведомлений помещают в автозагрузку и она при старте подключается к сервису и общается с ним.


 
BenGen   (2007-09-11 11:17) [32]

Эхэхэх... то бред терь понимаю!

Мне то надо чтоб прога до входа пользователя в систему запускалась!
нафиг мне иконки терь и все те прибамбасы!


 
DVM ©   (2007-09-11 11:28) [33]


> Окна в сервисах - это извращение. Это три.

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


 
Сергей М. ©   (2007-09-11 11:37) [34]


> нафиг мне иконки терь и все те прибамбасы


Ну а если не иконки, то что ? Чему нужному/полезному ты собрался научить свой сервис ?


 
BenGen   (2007-09-11 12:19) [35]


> Сергей М. ©   (11.09.07 11:37) [34]


Он (сервис) по API коннектится к проге и считывает данные GUID и если системное время 1 число 0:00 часофф обнуляет данные для GUID!
а если не 1 число и он Сервис уже обнулял данные (ведёт запись в фаил с расширением *.dat) то он сидит в трее и ждёт следующего 1 числа в 0:00 часофф (мониторит сист время раз в 3 сек) загрузка проца 0% 1,7 метра в памяти!

Сам код мониторига пашет на ура а вот как прально сервис замутить я ужо в сомнениях!


 
Riply ©   (2007-09-11 12:29) [36]

> [35] BenGen   (11.09.07 12:19)
>Он (сервис) по API коннектится к проге и считывает данные GUID и
>если системное время 1 число 0:00 часофф обнуляет данные для GUID!
>а если не 1 число и он Сервис уже обнулял данные (ведёт запись в фаил с расширением *.dat)
>то он сидит в трее и ждёт следующего 1 числа в 0:00 часофф (мониторит сист время раз в 3 сек)
>загрузка проца 0% 1,7 метра в памяти!
Ничего не поняла.
А можно еще раз объяснить, что он (сервис) делает ?


 
BenGen   (2007-09-11 12:51) [37]

Riply ©   (11.09.07 12:29) [36]

Да енто и не важно :) Важно правельно сервис замутить а код то я впишу куды нужно! ИМХО!


 
Riply ©   (2007-09-11 12:59) [38]

>[37] BenGen   (11.09.07 12:51)
>Да енто и не важно :) Важно правельно сервис замутить а код то я впишу куды нужно! ИМХО!
Вообще-то важно. Не все работает одинаково в сервисе и в обычном приложении :)

>[23] BenGen   (11.09.07 06:21)
>Сорри! Нет ли примерчика по созданию Приложения-сервиса,
>если можно и это вас не затруднит, рабочего! Буду очень признателен!
Смотри исходники от Rouse_. У него там есть хороший пример.


 
Сергей М. ©   (2007-09-11 13:23) [39]


> Важно правельно сервис замутить а код то я впишу куды нужно


Т.е. код сервиса сам по себе, а твой прикладной код тож сам по себе ? Их работа, по твоему, друг от друга никак не зависят ?

Наивный чукча-писатель)


> он сидит в трее


Ему что, больше "сидеть" негде, кроме как "в трее" ? Что он там забыл ?)

Для тебя, вероятно, будет откровением, что в трее кроме иконок никто не "сидит" и "сидеть" не может. Кто ж его "посадит" ? Он же сервис !))


 
BenGen   (2007-09-11 13:52) [40]


> Сергей М. ©   (11.09.07 13:23) [39]


1) Если вы гуру - то включите интерператор! (совет от Администрации сего ресурса!)
2) Не чюкча-писатель! (скромнее батенька... скромнее)
3) Про Откровения! см. пункт № 1)


> Riply ©   (11.09.07 12:59) [38]


Ели вам многоуважаемая нужен листинг моего (приведенного) кода!
То сие могу залить вам на мыло и вы - разъясните сможет он работать или нет в сервисе!


 
Сергей М. ©   (2007-09-11 13:55) [41]


> BenGen   (11.09.07 13:52) [40]


Ты не ответил на вопросы)..


 
BenGen   (2007-09-11 14:00) [42]


> Сергей М. ©   (11.09.07 13:55) [41]


Сервис и код не разъеденимы! Запускаеш как службу и всё - хай там весит и мониторит сист время и всё пока не наступит час Х


 
Сергей М. ©   (2007-09-11 14:03) [43]


> хай там весит и мониторит сист время и всё пока не наступит
> час Х


И зачем для этой цели изобретать велосипед ?

В системе есть штатный планировщик заданий (он есть сервис), ему и поручи столь деликатное дело - на то он и планировщик)


 
BenGen   (2007-09-11 14:09) [44]

не хотю ему) хотю проге)


 
BenGen   (2007-09-11 14:10) [45]


> Сергей М. ©   (11.09.07 14:03) [43]


Сие Не Предлагать!


 
Сергей М. ©   (2007-09-11 14:15) [46]


> BenGen   (11.09.07 14:09) [44]


Ну если это искл-но учебная задача, то тут еще можно понять ..
Но зачем для учебной задачи сразу же лезть в дебри, в которых ты пока еще как ежик в тумане ?)

А если не учебная, то почему "не хотю ..хотю" ? Cерьезные аргументы для этого имеются ?


 
BenGen   (2007-09-11 14:18) [47]


> Сергей М. ©   (11.09.07 14:15) [46]


Имеются!

А как на счёт снесённого Планировщика задач? Ну нет его в системе - отключил горе админ! Как быть? Ставить всё на место самому с выездом на лок тачку! Бред!


 
Сергей М. ©   (2007-09-11 14:20) [48]


> как на счёт снесённого Планировщика задач?


А как насчет снесенного твоего сервиса ?
Что помешает горе-админу снести и его ?)


 
BenGen   (2007-09-11 14:23) [49]

Не что и не поможет! Кому он нужен, тот его сносить не будет! Уточню не путайте с троянами и злонамеренными прогами! не тот вариант! Просто хотю все в одном флаконе! Ну что тут еше не понятно??????


 
Германн ©   (2007-09-11 14:23) [50]


> А как на счёт снесённого Планировщика задач? Ну нет его
> в системе - отключил горе админ! Как быть? Ставить всё на
> место самому с выездом на лок тачку! Бред!
>

Детский сад. Штаны на лямках.


 
BenGen   (2007-09-11 14:25) [51]

Да....  не хило! Не делай то! не делай сё! не чего не делай! Всё ужо есть!

Что за мода такая?


 
Сергей М. ©   (2007-09-11 14:25) [52]


> Кому он нужен, тот его сносить не будет


Вот-вот)
Тому кому нужен Планировщик, тому нет резона его сносить)


 
BenGen   (2007-09-11 14:26) [53]


> Германн ©   (11.09.07 14:23) [50]


Взаимно! Лямки под штанами.


 
Сергей М. ©   (2007-09-11 14:29) [54]


> BenGen   (11.09.07 14:25) [51]


Ну почему не делай ? Делай, никто тебе не мешает)
А уж если ты еще и умудришься "запуздырить сервис в трей", то твое творчество будет просто бесценно)


 
BenGen   (2007-09-11 14:30) [55]


> А уж если ты еще и умудришься "запуздырить сервис в трей",
>  то твое творчество будет просто бесценно)


Интерператор так и не отладили! IDA Pro вам поможет! :)))


 
Сергей М. ©   (2007-09-11 14:31) [56]

Все с тобой ясно)

В сад.


 
BenGen   (2007-09-11 14:35) [57]

Нагрубили и толку то? Тема не раскрыта! Извените за Беспокойство!

З.Ы. Прогер не когда не поймёть Обывателя! Хотя и Обыватели тоже! :))) Сами то забыли когда Чайником не Кастрюля с ручкой и носиком называлась а ваша светлость! Гы...


 
BenGen   (2007-09-11 14:39) [58]

Закройте тему - советы не в код а ф топку!


 
DVM ©   (2007-09-11 14:58) [59]


> BenGen   (11.09.07 14:39) [58]
> Закройте тему - советы не в код а ф топку!

Так какие же могут быть совет, коли ты толком ничего не спрашиваешь. Ответы игнорируешь. Сервис сделать в Delphi проще некуда. Помещай в шаблон сервиса свой код и вуаля.

Но вот иконку в область уведомлений сервис помещать не должен, хотя может, но я даже подсказывать как это делается не стану ибо это неправильно и нечего учиться плохому. Делай управляющую сервисом программу хошь с иконками, хошь с музыкой и т.д.


 
BenGen   (2007-09-11 15:35) [60]


> Сервис сделать в Delphi проще некуда. Помещай в шаблон сервиса
> свой код и вуаля.


Да сделал я енто! не проблемка - руки есть прямые! все работает норм но нужно чтоб иконка в трее весела и енто соорудил но решил спросить как правельно а как нет а вы тут развели демагогию - не надо не стоит! Кто ж так советует -А Многоуважаемые Гуру?

Смотрящих просьба не влазить! Не админское енто дело!


 
Сергей М. ©   (2007-09-11 15:45) [61]


> BenGen   (11.09.07 15:35) [60]


> решил спросить как правельно


Тебе уже сказали - так делать НЕправильно ! Никаких иконок ни в каких треях сервис создавать не должен.

Мало того что это неправильно, так это еще и работать не будет, потому как противоречит твоим требованиям по старту сервиса еще ДО входа какого-либо юзера в систему.



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.6 MB
Время: 0.045 c
2-1189284962
Антон Шестаков
2007-09-09 00:56
2007.10.07
Очистка Dbimage


15-1189144874
de.
2007-09-07 10:01
2007.10.07
Динамическое создание меню по XML-файлу


2-1189415064
Washington
2007-09-10 13:04
2007.10.07
Кнопка выхода


4-1175752393
аыпвапы
2007-04-05 09:53
2007.10.07
Alt+Tab как запретить в ХР?


15-1189022089
Petr V. Abramov
2007-09-05 23:54
2007.10.07
Одумались...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский