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


Comment interdire la mise en veille automatique ?
 
u  

 

Il est très désagréable de se rendre compte que la mise en veille automatique s'est activée en plein millieu d'un long calcul, d'une communication série, où d'une acquisition de données quelconque. Le moyen qui vient immédiatement à l'esprit est de couper la gestion de l'énergie. C'est sûr, pas de problème les calculs de sont plus figés, mais lorsque tout est terminé, le Pocket PC reste allumé, et là...

On reset le timer !

La solution passe par l'utilisation d'une API, "SystemIdleTimerReset". Cette procédure (elle ne retourne rien) remet à zéro le compteur de mise en veille. En effet, votre Pocket PC possède un compteur interne qui décompte le temps et qui arrête votre Pocket PC au bout du temps d'inactivité que vous avez paramétré dans la gestion de l'énergie.

Pendant les opérations où la gestion de l'énergie ne doit pas intervenir, il faut invoquer cette procédure, à intervalles réguliers. L'idéal est d'utiliser un Timer pour effectuer cette opération (attention en eVB de bien laisser de temps à autre de l'air à Windows en utilisant par exemple la fonction WCEDoevents si vous entrez dans une longue boucle).

Déclaration et utilisation en eVB

Declare Sub SystemIdleTimerReset Lib "coredll" ()

Pour utiliser cette procédure il suffit d'écrire :

Call SystemIdleTimerReset

Déclaration et utilisation en C

Il suffit de linker à votre programme "coredll.lib" et d'inclure (avec la directive #include) le fichier d'entête "winuser.h". L'appel se fait simplement par :

SystemIdleTimerReset();

Si vous avez des questions ou des problèmes concernant cet article, vous pouvez utiliser le forum eVB et/ou eVC ou encore le forum "A l'aide" pour poser vos questions.

 

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.