Вниз
Скачать: CL | DM;

Обмен сообщениями внутри сервиса   Найти похожие ветки 

 
AlexanderSK   (2004-07-29 13:59) [0]

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

Заранее благодарен!


 
Digitman ©   (2004-07-29 14:11) [1]

посылай сообщения трэду  сервиса, например,вызовом PostThreadMessage() .. ID трэда сервиса хранится в св-ве TService.ServiceThread.ThreadId

в обработчике TService.OnExecute() в этом случае следует организовать цикл выборки/диспетчеризации этих  сообщений по примерному шаблону

var
 Msg: TMsg;
begin
 while not Terminated do
   begin
     WaitMessage;
     if PeekMessage(Msg, 0, SM_CONTROL, SM_CONTROL, PM_REMOVE) then
       Dispatch(Msg.Message)
     else
       ServiceThread.ProcessRequests(False);
   end;


 
GanibalLector ©   (2004-07-30 01:50) [2]

RegisterWindowMessage



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.035 c
14-1093276002
dimonf
2004-08-23 19:46
2004.09.12
Народ, может кто знает конторы которые пишут софт для железа?


14-1092991619
nasty
2004-08-20 12:46
2004.09.12
существуют ли утилиты, позволяющие...


4-1091182248
IllusoryOrion
2004-07-30 14:10
2004.09.12
Свой Shell + internat.exe


6-1089184441
RagE
2004-07-07 11:14
2004.09.12
Вопрос по TServerSocket, TClientSocket


3-1092750216
Jey
2004-08-17 17:43
2004.09.12
Резервное копирование баз данных




   Наверх