2010-04-14 3 views
1

Est-il possible d'obtenir les icônes des voyants de batterie et de téléphone de la barre des tâches, puis de dessiner dans une zone d'image?Récupérez les icônes des voyants Batterie et Téléphone de la barre des tâches et dessinez dans une zone d'image.


Pourquoi ai-je besoin de cela?

J'ai besoin de tout l'espace disponible sur l'écran, de sorte que tous les formulaires sont maximisés et couvrent la barre des tâches Windows Mobile. Mais, je dois afficher des informations sur la force du signal de la batterie e téléphone en seulement quelques formes.

Je sais comment obtenir leurs valeurs (comme systeminformation.phonesignalstrength), mais ce que je veux, c'est "l'icône actuelle", donc je n'ai pas besoin de m'inquiéter de leurs valeurs. C'est juste une information visuelle pour l'utilisateur.


En dernier cas, si cela est impossible, comment obtenir ces icônes de shell windowsmobile, donc je vais les attirer par moi-même, traiter chaque état differente/valeurs qu'ils assument. (C'est ce que je ne veux pas faire!)

Merci d'avance et désolé pour mon mauvais anglais.

+0

Je suis sûr que vous voulez dire 'icônes des applications de la barre d'état système' :) – Nayan

Répondre

0

Un exemple similaire est déjà disponible. Have a look.
Je l'aurais collé le code, mais il est en C++ et il serait énorme de tout coller ici :) Vous auriez besoin de convertir ce code C++ en C#.

Vous devrez -
1. Trouvez la poignée de la barre d'état système.
2. Obtenez le nombre de boutons (c'est exact) dans le tiroir.
3. Pour chaque touche ...
    a) Lire le tampon de données du bouton.
    b) Obtenez TRAYDATA à partir de ce tampon.
    c) Obtenir l'icône associée à cette instance d'objet TRAYDATA.

ImageList Image16List = new ImageList(); 
... 
ICONINFO iinfo; 
if(GetIconInfo(tray.hIcon,&iinfo) != 0) { 
    int iconindex = Image16List.Add(tray.hIcon); 
    //do stuff 
} 

Un autre très bon article lien here.

0

La plupart des images sont stockées sous forme de barre des tâches .BMP dans le répertoire \ Windows. Par exemple, dans Windows Mobile 6, l'image de la batterie se trouve dans \ Windows \ battery.bmp. Vous pouvez utiliser Windows Mobile Device Emulator et Remote File Viewer pour copier les fichiers sur votre PC. Les images sont parfois différentes dans différentes versions de Windows Mobile.

Questions connexes