|
|
|||||
| 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à...
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).
Declare Sub SystemIdleTimerReset Lib "coredll" () Pour utiliser cette procédure il suffit d'écrire : Call SystemIdleTimerReset
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.
|
||||
|
|
|||||
|
Copyright 2001-2004 - Tous droits réservés
|
|||||
|
iPAQ
est un produit de COMPAQ.
|