Toon posts:

[C#] Windows Service Communicatie met Application

Pagina: 1
Acties:

Verwijderd

Topicstarter
In eerste instantie had ik een applicatie gemaakt als Windows Applicatie, maar naar mijn idee, en een vraag op mijn forum, is het beter om hem als Windows Service te schrijven.
Deze service start een monitor thread en stuurd eventueel een email als dat moet.
Nu is het zo dat ik een aantal event heb in mijn thread class, zoals MailSending, MailSend en MailSendError etc.

Een van de dingen die ik daarbij doe is de notification Icon van mijn applicatie veranderen in een toepasselijke icon tijdens de events. Nu heb ik de Windows Service gemaakt, en een notificationIcon op mijn project gezet. Maar ik zie geen Icon in de system tray, ook niet als ik in de OnStart Event van mijn service een nieuwe notificationIcon aanmaak.

Nu dacht ik dat ik een soort Admin applicatie kan maken en die start dan op als iemand inlogged en dan geef ik die een notification Icon. Maar nu is mijn vraag, hoe kan ik zo communiceren dat ik die Mail events vanuit mijn Service kan opvangen in mijn applicatie. Die thread class zit in de service. Bij mijn admin applicatie kan ik geen reference maken naar de service want dat is een executable. etc etc.

Wat zijn hier zo de gebruikelijke methodes voor.
Ik hoop dat ik een beetje duidelijk was.

  • whoami
  • Registratie: December 2000
  • Laatst online: 09:19
Kijk eens naar de ServiceController class in het .NET framework.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Had ik ook al naar gekeken, maar als ik MSDN moet geloven kan ik hiermee niet veel meer dan de basis dingen als service starten, stoppen, herstarten etc.

  • whoami
  • Registratie: December 2000
  • Laatst online: 09:19
Verwijderd schreef op woensdag 09 maart 2005 @ 14:50:
Had ik ook al naar gekeken, maar als ik MSDN moet geloven kan ik hiermee niet veel meer dan de basis dingen als service starten, stoppen, herstarten etc.
Deze member method ook bekeken:
code:
1
ServiceController.ExecuteCommand( int command )

:?
Executes a custom command on the service.

[Visual Basic]
Public Sub ExecuteCommand( _
ByVal command As Integer _
)

[C#]
public void ExecuteCommand(
int command
);

[C++]
public: void ExecuteCommand(
int command
);

[JScript]
public function ExecuteCommand(
command : int
);

Parameters
command
An application-defined command flag that indicates which custom command to execute.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Okee, ben er ondertussen wel achter waarom ik geen TrayIcon had.
Moest nog "Interact with Desktop" aanzetten in de Service options. :)