Page 1 sur 1
Interception mise en veille ecran
Publié : jeu. 05/juil./2007 13:55
par Kwai chang caine
Bonjour à tous
Je voudrais savoir, si il est possible d'intercepter la mise en veille d'un portable.
Pour par exemple mettre un message attention mise en veille dans .....X secondes.
Comme ça on est pas obligé de se jeter sur le portable des que l'ecran s'eteint, car quand il est sous batteries a part t'exploser les phalanges des que on voit l'ecran noir et encore c'est trop tard, il faut retaper le code d'acces et relancer le portable.
PS: j'ai pas pu chercher sur le forum US car je ne sais pas comment ça s'appelle.
Merci
Bonne journée
Publié : jeu. 05/juil./2007 14:32
par gnozal
Je n'ai pas de portable, mais si c'est la mise en veille pour batterie faible dont tu parles, j'imagine que la fonction GetSystemPowerStatus_() peut t' aider [
http://msdn2.microsoft.com/en-us/library/aa372693.aspx ], surtout le membre 'BatteryFlag' de la structure 'SYSTEM_POWER_STATUS' retournée par la fonction [
http://msdn2.microsoft.com/en-us/library/aa373232.aspx ].
Code : Tout sélectionner
GetSystemPowerStatus
Retrieves the power status of the system. The status indicates whether the system is running on AC or DC power, whether the battery is currently charging, and how much battery life remains.
BOOL WINAPI GetSystemPowerStatus(
LPSYSTEM_POWER_STATUS lpSystemPowerStatus
);
Parameters
lpSystemPowerStatus : a pointer to a SYSTEM_POWER_STATUS structure that receives status information.
Code : Tout sélectionner
SYSTEM_POWER_STATUS
Contains information about the power status of the system.
typedef struct _SYSTEM_POWER_STATUS {
BYTE ACLineStatus;
BYTE BatteryFlag;
BYTE BatteryLifePercent;
BYTE Reserved1;
DWORD BatteryLifeTime;
DWORD BatteryFullLifeTime;
} SYSTEM_POWER_STATUS,
*LPSYSTEM_POWER_STATUS;
Code : Tout sélectionner
BatteryFlag
The battery charge status. This member can contain one or more of the following flags. Value Meaning
1 High—the battery capacity is at more than 66 percent
2 Low—the battery capacity is at less than 33 percent
4 Critical—the battery capacity is at less than five percent
8 Charging
128 No system battery
255 Unknown status—unable to read the battery flag information
The value is zero if the battery is not being charged and the battery capacity is between low and high.
Sinon, pour la mise en veille de l'écran au bout d'un certain temps d'inactivité, aucune idée comment la détecter
Publié : jeu. 05/juil./2007 14:44
par wolfjeremy
Houla gnozal il est chaud boulette pour l'API mdr
Merci ça va me servir aussi.
Publié : jeu. 05/juil./2007 15:04
par Kwai chang caine
Merci GNOZAL de ta reponse rapide
Mais la reponse est tellement compliquée que j'ai oublié la question
Deja, je pensais que c'etait le meme evenement qui faisait mettre en veille le portable quand il est en batterie plus vite que quand il est sur le secteur.
Mais en fait, ta reponse me rapelle que ces parametres sont reglables.
Donc au niveau de la mise en veille ce serait d'apres toi une autre API.
En tout cas celle la m'interesse aussi, je pourrais la joindre dans mon petit exe.
Mais pour la joindre, il faudrait que je la "comprende" et je l'ai pas "comprendue".
N'oublie pas je suis le "truffegrammeur" du site

et à ce titre je merite un peu plus de respect
Non sans rire, je met quoi au plus simple dans le panneau jaune ou y'a des numeros de lignes a gauche ---->
Encore merci
Publié : jeu. 05/juil./2007 15:18
par gnozal
Pas testé ...
Code : Tout sélectionner
If GetSystemPowerStatus_(PowerStatus.SYSTEM_POWER_STATUS)
Debug PowerStatus\BatteryFlag
; BatteryFlag, signification des bits
; 1 Charge élevée
; 2 Charge basse
; 4 Charge critique
; 8 En train de charger
; 128 Pas de batterie
; 255 Statut inconnu
Debug PowerStatus\BatteryLifePercent
; BatteryLifePercent : % de charge restante [$FF si inconnu]
Debug PowerStatus\BatteryLifeTime
; BatteryLifeTime : nombre de secondes restantes [$FFFFFFFF si inconnu]
Debug PowerStatus\BatteryFullLifeTime
; BatteryFullLifeTime : nombre de secondes d'autonomie [$FFFFFFFF si inconnu]
Else
Debug "GetSystemPowerStatus a foiré"
EndIf
Publié : jeu. 05/juil./2007 15:37
par Kwai chang caine
Tu es un ange ....

, mais je pense que je ne t'apprend rien sur toi meme.
Je te remercie beaucoup
Et pour la mise en veille auto, quel mots je doit chercher chez les gens de l'autre coté de la mer ?????
Publié : jeu. 05/juil./2007 15:40
par Kwai chang caine
Debug "GetSystemPowerStatus a foiré"
Cool !!!!!!
ça va plaire a ma patronne .....
J'ai pas de portable sous la main aujourd'hui mais sur le pc salon ça me marque que pas de batterie et tout est a donf !!!
Donc ça a l'air de marcher
Mille mercis
Publié : jeu. 05/juil./2007 15:44
par gnozal
Kwai chang caine a écrit :Et pour la mise en veille auto, quel mots je doit chercher chez les gens de l'autre coté de la mer ?????
Notebook Sleep Mode ?
Publié : jeu. 05/juil./2007 16:30
par Ollivier
@gnozal:Violent cte fonction.

merci

Publié : jeu. 05/juil./2007 16:49
par wolfjeremy
Ollivier a écrit :@gnozal:Violent cte fonction.

merci

LOL la fonction violente, rien qu'en la voyant on se ramasse une patate dans la fasse

Publié : jeu. 05/juil./2007 17:23
par Ollivier
Ben ouais! D'où elle vient?
XLC
Publié : ven. 06/juil./2007 4:54
par Kwai chang caine
@Gnozal
Notebook Sleep Mode ?
Merci pour la traduction
Je vais tenter de chercher
Ben ouais! D'où elle vient?
Gnozal c'est aussi un magicien, tout comme mon ami FLYPE
