Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1967 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Implémentation d'un service NT/XP [Résolu & Conseil]

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Implémentation d'un service NT/XP [Résolu & Conseil]

n°598458
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-12-2003 à 14:57:54  profilanswer
 

Ancien titre du post :
 
   "Terminaison d'une application Win32 -><signal.h><-"
 
Bonjour à tous,
 
Je souhaite réaliser un démon (application de type serveur reseau) et je programme sous visual c++.
 
Mon premier démon fonctionne correctement et s'interrompe facilement grace à la gestion du signal SIGINT (Ctrl+C dans la fenetre console de l'application). Il s'agit d'une application de type "Win32 console".
 
Mon nouveau démon correspond au même code source mais il s'agit maintenant d'une application "Win32". Lorsque j'execute mon démon, il n'apparait que dans le gestionaire de tache (il n'y a plus de console associé, c etait mon objectif). Comment dans ce cas, puis-je interrompre mon démon correctement ? Comment envoyer à mon démon un signal (SIGINT ou autre) ?
 
Aujourd'hui, je me contente de détruire le démon via le gestionnaire des taches, mais la terminaison dans ce cas n'est vraiment pas propre !  :non:  
 
Merci d'avance de votre aide.  :jap:


Message édité par xterminhate le 30-12-2003 à 12:29:57
mood
Publicité
Posté le 29-12-2003 à 14:57:54  profilanswer
 

n°598491
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-12-2003 à 15:51:15  profilanswer
 

Il est clair que je n'ai pas pris la bonne direction pour implémenter mon démon. Je doute pouvoir passer à coté d'un thread et d'un fichier toto.pid... ce que je ne maitrise pas bien encore.
 
Cela dit, mon problème exposé ci-dessous demeure.
 
Cordialement,
   Xterm-in'hate

n°598540
blackgodde​ss
vive le troll !
Posté le 29-12-2003 à 17:11:35  profilanswer
 

sous windows (NT/2000/XP), les démons s'appellent des services NT, il y en a un exemple sur la msdn :
http://msdn.microsoft.com/library/ [...] sample.asp


---------------
-( BlackGoddess )-
n°598622
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-12-2003 à 19:23:34  profilanswer
 

Je pense que c est la meilleure solution pour arriver à mes fins. Je n'ai aucune expérience en matière de service NT/XP alors je vais commencer par l'aide en ligne de MSDN.
 
Je posterai ici même si j'obtiens quelque chose de facilement présentable pour les éventuels interessés. Tout encouragement serait le bienvenue pour cette longue et difficile croisade dans les entrailles de windows. :p
 
Cordialement,
   Xterm-in'Hate.

n°598672
blackgodde​ss
vive le troll !
Posté le 29-12-2003 à 21:02:35  profilanswer
 

si mes souvenirs sont bons, la source est tres facilement exploitable : on peut réutiliser service.cpp/service.h en ne changeant que le nom du service, et l'exemple est assez simple


---------------
-( BlackGoddess )-
n°598801
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-12-2003 à 23:15:58  profilanswer
 

Effectivement, la SDK service.h/.c semble assez simple à reutiliser. Merci bcp pour ton aide.
 
   Xter.

n°599239
xterminhat​e
Si vis pacem, para bellum.
Posté le 30-12-2003 à 12:18:56  profilanswer
 

Apres quelques retouches mineures dans le code source de la SDK (service.h et service.c), et l'adaptation de la condition d'arret de mon service (à base d'un objet HANDLER), j'ai obtenu tres rapidement un service NT/XP qui s'installe, se désinstalle et s'excute proprement.
 
Pour ceux que ca interesse, il suffit donc de télécharger le kit MSDN sample (vs6.exe) et de chercher dans le répertoire \msdn\sample\sdk_WinBase_WinNT_service ou \msdn\sample\sdk_winbase\WinNT\service (selon la manière d'extraction) les fichiers "service.*".
 
Merci encore pour ton aide BlackGoddess.
 
   Xter.


Message édité par xterminhate le 30-12-2003 à 18:09:13

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Implémentation d'un service NT/XP [Résolu & Conseil]

 

Sujets relatifs
[Résolu] Methodes virtuellesRépertoire courant de l'application [résolu]
[MySQL] comment configurer ma base pour mon projet [resolu]probleme d'installation de jbuilder9 [résolu]
[C++] implémentation d'une classe générique (liste chainée)Choix d'un répertoire avec JFileChooser [resolu]
implémentation très malheureuse de pointeurs intelligents[RESOLU] Save JPanel As ?
Exercice d'algo [probleme resolu par Tentacle, algo p2 poste par Giz]Image [inline], Mise à l'échelle [résolu] et Propagation de paramètres
Plus de sujets relatifs à : [C++] Implémentation d'un service NT/XP [Résolu & Conseil]


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR