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


Comment arrêter votre Pocket PC avec eVB ?
 
   


Il peut être être utile de pouvoir arrêter votre Pocket PC à la demande. Personnellement j'en ai toujours besoin lorsque je confie à ma machine une série de mesures à effectuer à intervalles réguliers. Pour l'activation, j'utilise une notification (voir article correspondant dans la section DLLs pour eVB), et une fois les mesures terminées, après avoir notifié la prochaine activation, je peux confier l'arrêt du Pocket PC au système de mise en veille automatique, ou encore mieux, je lance un arrêt immédiatement.

La méthode de la touche virtuelle

Pour arrêter votre Pocket PC vous avez besoin de la procédure keybd_event qui se trouve dans la librairie coredll, et qui permet de simuler l'appui sur une touche. Nous allons simuler l'appui de la touche Marche/Arrêt du Pocket PC.

keybd_event est déclarée dans eVB comme ceci :

Declare Sub keybd_event Lib "coredll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlag As Long, ByVal dwExtraInfo As Long)

Nous avons besoin aussi de la valeur de la touche Marche/Arrêt, que nous déclarons comme une constante :

Const VK_OFF = &HDF

Pour simuler l'appui sur la touche Marche/Arrêt, il suffit d'écrire ceci :

Call keybd_event(VK_OFF, 0, 0, 0)

La méthode utilisant une API dédiée

Il existe aussi une fonction du système qui permet de placer votre Pocket PC en mode veille. Pour l'utiliser il faut la déclarer :

Declare Sub GwesPowerOffSystem Lib "coredll" ()

Il vous suffit d'invoquer cette procédure pour que votre Pocket PC s'arrête. Le programme s'arrête à cette instruction et reprend dès que votre Pocket PC se ralume.

Pour invoquer cette procédure vous n'avez qu'à écrire :

Call GwesPowerOffSystem

Et voilà, maintenant vous avez un contrôle encore plus pointu de votre Pocket PC.

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.