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

Взаимодействие с service (службой)   Найти похожие ветки 

← →
Nucer   (2008-05-15 15:36) [0]

Пишу службу, необходимо обеспечить связь приложения с этой службой. Каким образом? SendMessage/PostMessage я так понимаю отпадают. Использовать TCP/IP?


← →
Сергей М. ©   (2008-05-15 15:56) [1]


> SendMessage/PostMessage я так понимаю отпадают


Отпадают, если корреспонденты разнесены по разным хостам или сервис не взаимодействует с рабочим столом.


> Использовать TCP/IP?


Как универсальный на все случаи жизни вариант - да.

При определенных условиях можно также воспользоваться PostThreadMessage, NamedPipes, MMF


← →
Leonid Troyanovsky ©   (2008-05-15 22:04) [2]


> Сергей М. ©   (15.05.08 15:56) [1]

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

Для этого сервис должен быть GUI.
В любом случае ControlService лучше.

--
Regards, LVT.


← →
DVM ©   (2008-05-15 22:41) [3]


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

И главное из этих условий, выполнение потока службы на том же десктопе, что и вызывающий PostThreadMessage поток. Что не всегда возможно. Способ плохой.


> Nucer   (15.05.08 15:36)  

Вообще варианты такие:
1) Сокеты - самый универсальный и кроссплатформенный механизм.
2) Named Pipes - удобный, но не всегда механизм.
3) RPC - весьма мудреный способ
4) DCOM - упрощение от предыдущего
5) Совместно используемая память, в том числе MMF
6) Сообщения

Я бы сокеты выбрал.


← →
DVM ©   (2008-05-15 22:45) [4]


> Для этого сервис должен быть GUI.

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

Причем тут GUI? Окна к  PostThreadMessage отношения не имеют.


← →
Leonid Troyanovsky ©   (2008-05-15 23:38) [5]


> DVM ©   (15.05.08 22:45) [4]

> Причем тут GUI? Окна к  PostThreadMessage отношения не имеют.

А я говорил про окна?
У сервиса д.б. цикл обработки сообщений.
Любой же вызов user32, как было справедливо отмечено, сделает поток гуевым.
Если же этот поток - не первичный, то место этому сервису в кунсткамере,
а авторам - в зале славы ;)

Короче говоря, RTFM: $APPTYPE

--
Regards, LVT.


← →
имя   (2008-12-08 23:14) [6]

Удалено модератором



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

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



Память: 0.46 MB
Время: 0.015 c
2-1256623184
Sw
2009-10-27 08:59
2009.12.13
Combobox и Escape


11-1209725067
ILPU
2008-05-02 14:44
2009.12.13
Как масштабировать изображение по размерам окна?


2-1256864358
Тимофей
2009-10-30 03:59
2009.12.13
скриншот заданной области


15-1255532875
БарЛог
2009-10-14 19:07
2009.12.13
Программа для массового сжатия изображений


15-1255207930
Суслик_
2009-10-11 00:52
2009.12.13
Клауд компьютинг в массы...




   Наверх