Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WDxx] Service NT - Comment intercepter l'arret d'un service

4 réponses
Avatar
Peter
Bonjour,

J'ai cree un petit program en WD55 qui tourne comme service (avec
srvany.exe). J'aimerais intercepter quand le service s'arrete pour
faire un 'cleanup'. Le mieux c'est dans le service-program lui meme,
mais je n'arrive pas a intercepter un 'stop_service_event' quelquepart.

Des idees?

TIA,

--
Peter

4 réponses

Avatar
Romain PETIT
Peter avait prétendu :
Bonjour,



Bonsoir,

J'ai cree un petit program en WD55 qui tourne comme service (avec
srvany.exe). J'aimerais intercepter quand le service s'arrete pour faire un
'cleanup'. Le mieux c'est dans le service-program lui meme, mais je n'arrive
pas a intercepter un 'stop_service_event' quelquepart.



Inspire-toi de la classe/projet exemple de Denis Ramstein
http://www.windevasso.org/cgi-bin/gesmod.exe?exec=VISU&NUMRUBRIQUEX0&MDP=&TYPE=SOURCE

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Peter
Romain PETIT wrote:

J'ai cree un petit program en WD55 qui tourne comme service (avec
srvany.exe). J'aimerais intercepter quand le service s'arrete pour
faire un 'cleanup'. Le mieux c'est dans le service-program lui meme,
mais je n'arrive pas a intercepter un 'stop_service_event' quelquepart.




Inspire-toi de la classe/projet exemple de Denis Ramstein
http://www.windevasso.org/cgi-bin/gesmod.exe?exec=VISU&NUMRUBRIQUEX0&MDP=&TYPE=SOURCE



Merci, mais je crois que j'ai mal explique mon probleme. Avec la classe
de Denis Ramstein on peut creer, changer, activer, arreter ... une
service - par API. (j'ai du changer la classe pour que ca marche chez moi)
Je veux intercepter que le service s'arrete - on peut arreter une
service avec plusieurs outils, entre autre avec la classe de Denis -.
Je peux chercher dans un autre programme, avec un timer, si le service
est encore 'running' mais c'est lourd.

Bon, je vais voir si je peux creer un 'native service' avec wd75 ...

--
Peter
Avatar
Romain PETIT
Peter a présenté l'énoncé suivant :

Je veux intercepter que le service s'arrete - on peut arreter une service
avec plusieurs outils, entre autre avec la classe de Denis -.
Je peux chercher dans un autre programme, avec un timer, si le service est
encore 'running' mais c'est lourd.



Je ne comprend pas bien... Tu veux détecter l'arret du service par
l'application qui a été lancée par ce service ?
Tu dois pouvoir le faire avec la classe de Denis : il suffirait de
scruter régulièrement l'état du service (méthode ServiceStatus) par un
timer et de détecter le statut SERVICE_STOP_PENDING...(à moins que dès
le début de la procédure d'arrêt, l'application soit gelée ?)

Personnellement, pour mettre en place un service et le contrôler,
j'utilise XYNTService :
- 1 service peut contrôler plusieurs programmes
- rédémarrage automatique en cas de défaillance
- l'auteur a fourni ses sources (en C) que l'on peut adapter.
- ...

http://www.codeproject.com/system/xyntservice.asp


Bon, je vais voir si je peux creer un 'native service' avec wd75 ...



Si tu y arrives, fais moi signe, ça m'intéresse grandement (mais je
doute que tu puisses y arriver)...

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Romain PETIT
Romain PETIT a émis l'idée suivante :
- l'auteur a fourni ses sources (en C) que l'on peut adapter.



Rectification, C++...


A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)