|
|
fr.comp.os.ms-windows.programmation Affichage de l'article : Re: Connaitre l'etat de l'ordinateur
Date :
Le 02 avril 2008
From :
Jean-Claude BELLAMY
Sujet :
Re: Connaitre l'etat de l'ordinateur
"sophie.cape" a écrit dans le message de
news:fsvr1f$pjq$1@aioe.org...
> Bonjour
> Je programme en C++ et je voudrais savoir s'il est possible de savoir si
> windows est allumé, en veille, en veille prolongée, arreté.. pour un petit
> programme sur l'electricité dépencée par un ordinateur.
Depuis un autre ordinateur je présume ?
Tout ce que tu pourras savoir, c'est si l'ordinateur concerné est acessible
depuis le réseau ou non, et rien d'autre!
Quand il est en veille prolongée, il est totalement arrêté par essence même
de la veille prolongée, donc aucune distinction n'est possible.
Il y a bien le fichier d'hibernation (hiberfil.sys), mais pour tester sa
présence et état il faudrait accéder aux ressources de l'ordinateur, donc il
faudrait ... qu'il soit démarré !!!
De toute façon, au niveau consommation électrique, arrêt et veille
prolongée, c'est STRICTEMENT la même chose.
En ce qui concerne la veille simple, c'est un peu plus complexe car dans cet
état l'ordinateur est toujours sous tension (mais en puissance réduite).
L'ordinateur peut redémarrer sur une action de la souris, du modem, de la
carte réseau (si elle est du type "Wake up LAN") ou encore du bouton de
marche.
Ici il faudra donc passer par la carte réseau, en lui envoyant le "paquet
magique" de réveil (trame contenant les octets FF FF FF FF FF FF suivis de
de l'adresse MAC répétée 16 fois, et éventuellement un mot de passe de 4 ou
6 octets).
Donc pour tester l'état "veille" ou "allumé", on pourra procéder ainsi :
- accès à une resource réseau dont on sûr de l'existence,
p.ex. le fichier "c:\boot.ini"
-> si l'accès réussit, c'est que l'ordinateur est actif sur le réseau.
-> si l'accès échoue, on envoie le paquet magique,
puis on reteste l'accès à la ressource
-> si l'accès réussit, c'est que l'ordinateur était en veille
et qu'à présent il est actif sur le réseau.
-> si l'accès échoue, cela veut dire uniquement que
l'ordinateur n'est pas visible depuis le réseau.
- si au final l'accès a échoué, on peut RIEN conclure.
En effet, l'ordinateur peut très bien être actif, mais avec une carte réseau
HS, ou avec une configuration réseau qui interdise toute transaction, (pas
de réponse aux "Ping", partages désactivés, ...)
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Posez vos questions, réponses et remarques sur
les forums de FrameIP
|
|