Форум: "WinAPI";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
ВнизPostMessage в сервисах Найти похожие ветки
← →
Vn (2002-10-18 11:31) [0]Написал програму которая активно использует очередь сообщений. А теперь надо ее переделать в сервис. TService не имеет handle. Не понятно возможно ли использовать сабж.
← →
Игорь Шевченко (2002-10-18 11:54) [1]Ходят злые слухи, что сервис, написанный на Delphi имеет окно и очередь сообщений.
А вообще, согласно теории, очередь сообщений имеет поток.
← →
Alexander (2002-10-22 17:01) [2]А не подскажете, как получить сообщения из потока сервиса?
← →
Игорь Шевченко (2002-10-22 17:26) [3]Alexander © (22.10.02 17:01)
А ... PeekMessage, GetMessage ...
← →
Alexander (2002-10-22 22:10) [4]писать примерно так?
while GetMessage(Msg,0,0,0) do
if Msg.message = моё сооющение than
begin
...;
end;
← →
Игорь Шевченко (2002-10-23 10:06) [5]Лучше PeekMessage
← →
Alexander (2002-10-23 13:16) [6]Так мне в потоке нужно именно ждать сообщение, а PeekMessage не ждёт. Как написать лучше?
← →
Игорь Шевченко (2002-10-23 13:41) [7]MsgWaitForMultipleObjects или GetMessage
← →
Alexander (2002-10-23 14:48) [8]Пишу так:
hThread := CreateThread(nil, 0, @NotificationThread, @ThreadParams, 0, ThreadID);
где
function NotificationThread(P: Pointer): Cardinal; stdcall;
...
begin
...
while GetMessage(Msg, 0, 0, 0) do
if (Msg.message = WM_SPOOLERSTATUS) then
...
end;
так вот, до строки с if даже не доходит, т.е. не принимает ни одного сообщения.
← →
Игорь Шевченко (2002-10-23 15:00) [9]Alexander © (23.10.02 14:48)
Мне трудно что-либо сказать по этим строчкам. Почему не доходит, откуда не доходит.
← →
Alexander (2002-10-23 15:08) [10]Я в своей программе создаю поток (Win 98) У программы есть своё окно, но я отлаживаю код, который потом вставлю в сервис (или это сразу в сервисе надо проверять и в программе так не сработает?). в функции потока работа замирает на строке с GetMessage и более ничего в этой функции не происходит.
← →
Игорь Шевченко (2002-10-23 15:56) [11]Ой. Сервисы, они вроде, в NT...
Рихтера, плз, почитайте
← →
Alexander (2002-10-23 16:11) [12]Да... загнался совсем - не правильно объяснил. То, что сервисы только в NT - я знаю. У меня модуль - он в NT сервис, а в 98 - программа, которая запускается из RunServices реестра. Оконной функции нет и пытаюсь приведённым выше кодом обработать сообщение.
← →
Игорь Шевченко (2002-10-23 16:35) [13]Alexander © (23.10.02 16:11)
Ой. Я к 98 никакого отношения, увы, не имею.
← →
Polevi (2002-10-23 16:43) [14]окно создается в том же потоке где цикл GetMessage ?
← →
Alexander (2002-10-23 16:57) [15]>Polevi
в потоке у меня вообще не создаётся никаких окон.
Окно есть там, откуда я создаю поток, но это пока я отлаживаю код, потом этого окна не будет.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c