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

  FORUM HardWare.fr
  Programmation
  C++

  [win32 vs6] application console vs service

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[win32 vs6] application console vs service

n°295410
SoWhatIn22
Posté le 28-01-2003 à 14:21:38  profilanswer
 

Bonjour,
 
sous win32, comment une application peut elle savoir si elle est lancée depuis une console ou en temps que service? J'ai commencer à explorer un peu le msdn, mais sans grand succès.
merci.

mood
Publicité
Posté le 28-01-2003 à 14:21:38  profilanswer
 

n°295429
PassPassLe​Ouinj
Posté le 28-01-2003 à 15:05:51  profilanswer
 

pourquoi aurait elle besoins de le savoir ???
 
 
deja les services n'existe que pour les os de type NT donc pas de service pour win 9X


---------------
il y a du monde sur la corde à linge
n°295524
SoWhatIn22
Posté le 28-01-2003 à 16:55:43  profilanswer
 

PassPassLeOuinj a écrit :

pourquoi aurait elle besoins de le savoir ???
 
 
deja les services n'existe que pour les os de type NT donc pas de service pour win 9X


 
1. c'est bien de le savoir car:
   - si le process n'est attaché à aucune console, il n'est pas nécessaire de rediriger des flux vers la sortie standard. C4est fastidieux et surtout inutile.
   - de même, pas la peine d'attendre des informations (une confirmation, par exemple) sur l'entrée standard.
   - on peut, le cas échéant, décider de rediriger les messages importants vers l'observateur d'évènement de NT/2000.
 
2. j'avoue n'avoir pas pensé ne serait-ce qu'une seule seconde à win9x :-) c'est pour du winnt/2000.

n°295636
HelloWorld
Salut tout le monde!
Posté le 28-01-2003 à 18:47:29  profilanswer
 

Tu peux peut etre te debrouiller en testant si ton handle stdin est valide. Je peux pas trop t'éclairer, car les services je connais pas.
Mais si un service ne possède pas de console alors ca doit etre jouable.
La console peut etre héritée de l'appli qui lance ton prog, le handle est passé via une structure (STARTUPINFO je crois) passe en parametre a ton appli (structure analysee par le code qui appelle WinMain)
Regarde de ce cote ainsi que du cote de GetStdHandle.
 
Apres verif c'est bien dans cette structure, champ hStdInput.
http://msdn.microsoft.com/library/ [...] fo_str.asp
 
Mais GetStdHandle(STD_INPUT_HANDLE) devrait faire l'affaire.
Si ca renvoit INVALID_HANDLE_VALUE c'est que t'es pas lancé depuis la console, sauf si Windows se charge dans ce cas de t'allouer automatiquement une console (comme pour une appli console classique). Pour les services, je sais pas comment ca se passe. Test pour savoir.
http://msdn.microsoft.com/library/ [...] handle.asp


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°296126
SoWhatIn22
Posté le 29-01-2003 à 10:50:00  profilanswer
 

HelloWorld a écrit :

Tu peux peut etre te debrouiller en testant si ton handle stdin est valide. Je peux pas trop t'éclairer, car les services je connais pas.
Mais si un service ne possède pas de console alors ca doit etre jouable.
La console peut etre héritée de l'appli qui lance ton prog, le handle est passé via une structure (STARTUPINFO je crois) passe en parametre a ton appli (structure analysee par le code qui appelle WinMain)
Regarde de ce cote ainsi que du cote de GetStdHandle.


 
Ca fonctionne bien ainsi.
merci.


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

  [win32 vs6] application console vs service

 

Sujets relatifs
Comment migrer une application de vb3 vers vb6 ?Gestion du clavier en mode console (snake)
[Ant] Architecture d'une application[Win32] Wininet : savoir si un fichier existe ?
[VC++ WIN32] Comment recuperer l adresse IP d'une interface reseau ?Programme en mode console avec C++ Builder !
[Win32] Solutions simples pour lire des fichiers sons.[delphi] débutant : Démarrage d'une application
Développer un service windows2k en java[c++ win32 - heap corrupted -> quels outils?]
Plus de sujets relatifs à : [win32 vs6] application console vs service


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