Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: WinAPI и системное программирование > Как заставить сервис ловить системные сообщения? |
Автор: danilsl 13.7.2007, 12:53 | ||
Привет всем. Пишу Service Application. Во время работы этот сервис должен будет размножать потоки. Для корректного завершения потоков я хочу в последней строке потока отправлять системное сообщение основному потоку сервиса, для уведомления его о том, что поток нужно добить. В сервисе прописан такой код:
Сообщения сервису посылаю пока из внешней проги. Пробовал и PostMessage и SendMessage и PostThreadMessage. В качестве хендла подсовывал им TestSrv.ServiceThread.Handle, не помогло. Попробовал подсовывать то что пишет про этот сервис WinSight из 7-й дельфи, тоже ноль реакции. Что ещё можно сделать? ЗЫ TestSrv.ServiceThread.Handle вычислял в обработчике OnServiceStart через всё тот же ShowMessage, взаимодействие с рабочим столом у сервиса разрешено, так что ShowMessage теряться не может. |
Автор: fse 1.10.2007, 11:01 |
Что-то у меня сомнение на счёт TestSrv.ServiceThread.Handle! Это, я думаю, дескриптор потока, а не окна. Ты скорее всего отсылаешь месаги вникуда. Можно сделать так: создай окно CreateWindow. И обрабатывай им сообщения (вынеси для него WndProc). Окно это могут искать сторонние проги при помощи FindWindow. Так всё должно получиться наверняка. |
Автор: Alix 1.10.2007, 15:26 | ||
никак не прокатит. почитай свою же тему http://forum.vingrad.ru/forum/topic-170496.html |