Récupérer les icones du systray dans votre programme : ocx system tray

Soyez le premier à donner votre avis sur cette source.

Vue 9 979 fois - Téléchargée 956 fois

Description

Bonjour à tous,

Je ne lacherais rien à windows lol, je ne me sentirais bien que lorsque j'aurais réussi à récupérer toutes les infos possibles sur ce qui se passe sur mon pc ^^

Bon j'ai bien galéré pour cette source, bien que, heureusement, ShareVB avait déjà préparé tout le coté api.
cf source :
http://www.codes-sources.com/code.aspx?ID=24852

J'avais donc toutes les api et fonctions qui les utilisent, j'ai donc pas eu à beaucoup réfléchir sur les api.

Par contre j'ai galéré sur les icones, pour les stocker, voir si un icone a été modifié, voir si un icone a été créé ou supprimé etc... En essayant de faire l'ocx le + léger possible.

Donc voilà le résultat, chez moi ça marche nickel, en plus les menus marchent.. Nickel
Si vous avez des idées d'améliorations n'hésitez pas ;)

D'ailleurs si quelqu'un aurait une idée pour recevoir les événements du genre : image modifiée, ou alors ajout d'un truc etc...
mais bon ça m'étonnerait que ça soit possible, vu que ce qu'on fait dans cette source, c'est qu'on va trifouiller dans le processus explorer, à l'endroit du systray et qu'on récupère les infos en mémoire.

Conclusion :


Bon il y a une contrainte, c'est qu'il faut se trimballer la dll de ShareVB "InterprocessImageList.dll", mais elle est très légère, c'est une dll en C donc pas besoin de l'enregistrer avec RegSvr32, donc il y a juste à la laisser dans le dossier de l'application et tout marche.

En espérant que ça vous serve, comme d'ab ;)

MadMatt

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
16
Date d'inscription
jeudi 4 novembre 2004
Statut
Membre
Dernière intervention
18 décembre 2009

Bravo MADM@TT, tu lis dans mes pensées. Pour la partie navigation de fichiers ou autres, il y en a plein Internet. Disons qu'en plus, on pourrait éviter de montrer toutes les parties de windows dont l'utilisateur Lambda n'a pas besoin mais qu'on aurait quand même les événements des applications dans un systray. Allez les gars, tous au boulôt, ça doit bien être possible de trouver comment fait la taskbar de l'explorer ! avec un petit ice ;-) J'attends la source avec impatience. Envoyer le message TaskBarCreated et écouter ces messages doit être une formalités, je pense qu'il doit falloir lancer notre nouvelle application en SHELL dans la base de registre.
Je te contredis juste sur le fait qu'un programme en shell peut lancer l'explorateur windows, je l'ai testé, la barre de tâches ne sera pas présente par contre. Allons-y !
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
SDCoder > Ah ouais c'est une méga idée ça ! Je sais pas si c'est réalisable facilement, mais en y pensant, on recrée un bureau, une barre des taches... tout un environnement
On peut le faire plus léger par exemple pour pouvoir réserver les ressources aux jeux, ou alors plus pratique, ou ajouter plein d'outils... Genre comme sous linux on peut choisir le bureau.
Pour ça on kill explorer, on crée un message TaskbarCreated (je ne sais pas si c'est possible ?) et on capture les réponses des applis qui recréent leurs icones pour les afficher dans notre bureau. ça a pas l'air simple, mais si c'est possible ça ouvre pas mal de portes.
Par contre on pourrait pas lancer un truc qui utilise explorer derrière (genre explorateur de fichier par exemple)
Messages postés
16
Date d'inscription
jeudi 4 novembre 2004
Statut
Membre
Dernière intervention
18 décembre 2009

RENFIELD, Ce n'était pas une remarque (négative) mais une idée (positive). Par exemple, pour développer notre propre desktop sans un Explorer qui prend beaucoup de ressources et tout en bénéficiant des icones et menus du systray. J'y vois de nombreuses applications !
Enfin si tu vois comment refaire le même systray sans explorer en récréant peut-être notre propre taskbar ou notre propre explorer ?
Merci encore pour ta source.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
sans Explorer.exe en mémoire.... tout un programme !

effectivement, quand on le décharge ('tskill explorer' sous Xp), on a même plus de barre des taches, et donc plus de Systray...
les icones de cette dernière sont d'ailleurs détruites, tout simplement, puisqu'il faut les recreer ala reception de l'evenement "TaskbarCreated" ...

bref, pas compris ta remarque...
Messages postés
16
Date d'inscription
jeudi 4 novembre 2004
Statut
Membre
Dernière intervention
18 décembre 2009

C'est excellent mais ça ne marche pas sans Explorer.exe en mémoire, c'est dommage !
Afficher les 21 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.