Savoir à quel programme appartient une icone de la zone de notification ("tray") et lister les icones

Soyez le premier à donner votre avis sur cette source.

Vue 9 278 fois - Téléchargée 978 fois

Description

Ce code permet de lister les icones du "Tray" à côté de l'horloge et de savoir à quel programme une icone appartient...

Pour ME/2000/XP :
C'est une interprétation des données systèmes de cette barre d'outils (le Tray a la classe "ToolbarWindow32") que l'on peut obtenir avec le message TB_GETBUTTON...

Pour 9x :
C'est une interprétation de la structure pointée par le pointeur (lol) que l'on obtient avec GetWindowLong(index=0)

Ce code doit fonctionner sous 9x/ME/NT/2000/XP... Il a été testé sous 98/2000/XP...

La dll jointe dans le zip est nécessaire pour transférer les icones du Tray dans notre processus...

Conclusion :


Ce code fonctionne même lorsque l'option "Masquer les icones inactives" est activée (XP)

N'hésitez pas à commenter et à noter...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
super ! ajoute un " if LV.GetItemAt(X,Y) = nil then exit;" au debut du "onmousedown" :)

20/10 !!
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
20
salut,

+200 ne sert à rien, j'avais mis ca pour tester GetItemAt...

ShareVB
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
peut tu nous expliquer (ou juste a moi si je suis le seul ignorant :D) les :
LV.GetItemAt(X,Y);
et
LV.GetItemAt(X + 200,Y);

en cherchant je trouve ceci :
"We call the GetItemAt method of the ListView to get a pointer to the ListItem on which the user clicked, so we call the associated application for the file."

donc item serait un pointer sur la LV ?
et ensuite pourquoi "+200" ?

merci :)
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
20
salut,

pour ceux que ca intéresse, la source de la dll est ici :
http://www.cppfrance.com/code.aspx?ID=28514

c'est avec cette dll que je récupère les icones :
hDesktop := GetDesktopWindow();
hImageList := SendMessage(hDesktop, LVM_GETIMAGELIST, LVSIL_SMALL,0);
//iImage de l'item du listview du bureau
hIcon := GetIcon(hDesktop, hImageList, iImage);

ShareVB
Messages postés
40
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
21 avril 2008

Salut sharevb

J'ai vu ton programme sous vb
D'après la description il fait la même chose que la source que j'ai déposé en delphi et qui est en deux parties

Ce qui m'interessait dans ton programme c'est d'extraire les icones vus sur le bureau
Afficher les 17 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.