Kommunikation mit laufendem Windows-Dienst

28/01/2009 - 22:01 von Stefan B. | Report spam
Hallo zusammen,

ich habe vor, einen Windows-Dienst zu schreiben, der auf "Kommandos"
wartet und dann etwas tut. Das Schreiben eines Dienstes ist kein
Problem, hierzu gibt es ja genügend Hinweise, z.B.

CodeGuru: A Class For Building An NT Service
http://www.codeguru.com/Cpp/W-P/sys....php/c2809

CodeGuru: NT Service App Wizard
http://www.codeguru.com/Cpp/W-P/sys....php/c2847

Nur habe ich bisher noch nicht herausgefunden, wie man einem laufenden
Dienst von einem anderen Programm aus etwas mitteilen kann. Könnte man
ihm dazu eine Windows-Message senden? Allerdings hat der Dienst ja kein
Window-Handle. Oder wàre PostThreadMessage eine Möglichkeit? Oder
funktioniert das nur innerhalb desselben Prozesses?

Wie macht man so etwas "üblicherweise"?

Gruß,
Stefan
 

Lesen sie die antworten

#1 Volker Birk
28/01/2009 - 23:51 | Warnen spam
Stefan B. wrote:
Nur habe ich bisher noch nicht herausgefunden, wie man einem laufenden
Dienst von einem anderen Programm aus etwas mitteilen kann.



Per IPC.

Könnte man
ihm dazu eine Windows-Message senden?



Auf keinen Fall. Der Dienst darf auf keinen Fall Nachrichten empfangen
können. Dafür gibt's nàmlich kein Sicherheitskonzept.

Wie macht man so etwas "üblicherweise"?



Durch kontrollierte IPC. Öffne einen Socket, verwende DCE-RPC oder nimm
COM/DCOM. Auch .NET-Remoting eignet sich. Du kannst auch eine Named Pipe
verwenden.

Viele Grüsse,
VB.
Bitte beachten Sie auch die Rückseite dieses Schreibens!

Ähnliche fragen