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

Le
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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Romain PETIT
Le #13418001
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é)
Peter
Le #13417461
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
Romain PETIT
Le #13417431
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é)
Romain PETIT
Le #13417421
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é)
Publicité
Poster une réponse
Anonyme