Le premier site francophone dédié au développement Pocket PC


Comment lire la charge de la batterie principale avec eVB ?
 
   

 

Pour lire l'état de la batterie principale, ilfaut utiliser une API qui retourne toute une série d'informations sur l'état de la batterie. Cette API est GetSystemPowerStatusEx, qui se trouve dans la librairie dynamique coredll.dll

Cette API utilise une structure spéciale qui lui permet de retourner entre autre, les informations sur la batterie principale. En eVB, il est impossible de créer des structures, il faut alors passer par un moyen détourné. Nous allons faire croire à l'API que nous lui passons bien un pointeur vers une structure, mais en réalité, nous allons travailler avec une chaine de caractères (qui n'est en fait q'un tableau d'octets, comme une structure).

La déclaration modifiée eVB est la suivante :

Declare Function GetSystemPowerStatusEx Lib "coredll.dll" (ByVal strBuffer As String) As Boolean

Il faut considérer la chaine de retour comme un flux de valeurs à décoder. Ici un seul octet nous interresse.

La valeur retournée par la fonction LireBatterie() est le pourcentage de charge restant. Si cette valeur est 255 c'est que la fonction n'est pas en mesure de retourner une valeur, il faut de nouveau poser la question (si la batterie est en charge par exemple).

Sources de cet article

Stéphane Sibué

 

 
       
   
 
   
Copyright 2001-2004 - Tous droits réservés
 
   

iPAQ est un produit de COMPAQ.
Visual Tools est un produit de Microsoft Corporation.
Toutes les autres marques et produits présents dans ces pages sont la propriété exclusive de leurs sociétés respectives.