Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача сообщений из одного сервиса другому [D5, WinXP]


BSD ©   (2002-10-29 12:40:00) 

Всем добрый день!
Подскажите плз как организовать передачу сообщений из одного сервиса в дугой.


BSD   (2002-10-29 18:35:00) [1]

Вот блин, я всетаки разобрался!
Дело оказалось все в том же Interactive...


BSD   (2002-10-29 18:26:00) [2]

Спасибо.Попробую...


AKu   (2002-10-29 17:07:00) [3]

Обычными сообщениями этого сделать, я думаю, не удастся в принципе, так как у сервисов вообще нет своей очереди сообщений. Её можно создать только для дочернего окна сервиса (CreateForm...). Вооще говоря, это решается с помощью посылки сообщений через SCM (Service Control Manager). SCM позволяет только лишь послать сервису сообщение об изменении параметров, а вот о получении самих изменившиехся параметров или сообщений сервис должен заботиться исключительно сам. Одни из самых удобных вариантов - это передача сообщений через файл или через реестр. Как посылать сообщения через SCM хорошо написано где-то на дельфийских сайтах, мне кажется, что на delphi.xonix.ru.
А если приспичило через нормальный PostMessage, то создай невидимую форму и посылай сообщения ей, только не забудь поставить в свойствах сервиса Interactive(? sorry,не помню точное название):=True, а то Windows не сможет ему сообщения посылать.


BSD   (2002-10-29 15:33:00) [4]

Блин, проинициализировал очередь с помощью PeekMessage, а всеравно ERROR_INVALID_THREAD_ID. Что делать? :(


BSD   (2002-10-29 13:14:00) [5]

А как ее проинициализировать?


Cobalt   (2002-10-29 13:09:00) [6]

Может, в сервисе не инициализирована очередь сообщений?
GetMessage/что-нить в этом роде?


BSD   (2002-10-29 13:02:00) [7]

Я использую PostThreadMessage, но GetLastError возвращает
ERROR_INVALID_THREAD_ID. В чем дело?


Наверх

Титульная страница Поиск, карта сайта Написать письмо