Page 1 sur 1

[R] Infos de la fenêtre DOS (cmd)

Posté : mer. 18 août 2010 13:25
par mafooley
Bonjour tout le monde,

je reviens avec une nouvelle demande qui, j'espère, ne paraitra pas stupide... :wink:
Dans le cadre de la réalisation d'un petit script, je cherche à connaitre l'état d'un service Windows et de le démarrer le cas échéant.

Je n'ai pas trouver le moyen de contrôler l'état des services à partir de contrôles Autoit.
J'essaye donc de passer par les commandes Net.exe via le DOS.
Pour connaitre quels sont les services déjà actifs, je passe par:

Code : Tout sélectionner

_RunDos ("net start")
La liste des services actifs apparait (du mois en mémoire car la fenêtre DOS ne souvre pas)
Ma question est la suivante: existe t-il un moyen de rechercher une chaîne de caractères dans la fenêtre DOS (ou la mémoire) pour voir si, par exemple "Connexion réseau" apparait ?

Peut-être envoyer cette liste de services actifs dans un fichier texte et utiliser la commande DOS findstr, mais le fait d'envoyer cette liste vers un fichier consiste à la lire donc... :?

Voilà, j'espère avoir été le plus clair possible et merci d'avance.

Maf

Re: [..] Infos de la fenêtre DOS (cmd)

Posté : mer. 18 août 2010 13:53
par Yogui
il existe un UDF Services cf pièce jointe

la fonction _Service_GetState permet de connaitre son état

Code : Tout sélectionner

#include <Services.au3>
    $etatserv = _Service_GetState("tlntsvr", "localhost")
MsgBox(0,"",$etatserv)

Re: [..] Infos de la fenêtre DOS (cmd)

Posté : mer. 18 août 2010 14:21
par mafooley
Génial cet UDF.

Merci beaucoup Yogui.

Du coup, je n'ai même plus besoins de passer par:

Code : Tout sélectionner

_RunDos ("net start mon_service")
ou

Code : Tout sélectionner

_RunDos ("net stop mon_service")
Et plein d'autres fonctions en bonus, Youpie !!! -----> [R] :D

Maf