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/NT :
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/NT4/2000/2003/XP/Vista...
sous 9x, la dll jointe dans le zip est nécessaire pour transférer l'ImageList du Tray dans notre processus...
Conclusion :
Ce code fonctionne même lorsque l'option "Masquer les icones inactives" est activée (XP)
Bravo pour ce code qui fonctionne parfaitement sous Windows XP.
Par contre sous Windows 7 impossible d'avoir le menu contextuel quand on fait un clic droit dans le tableau.
On dirait que c'est la fonction PostMessage qui n'est plus reconnue.
Est-ce que quelqu'un à une idée ?
Je suis impatien de voir les changements :)
Merci
^^
le problème de violation d'accès dans Explorer.exe venait de la libération ou non libération "abusive" des handles d'icônes dans le processus...cela devrait être corrigé...
ShareVB
premierement jai ue une erreur "NullReferenceException" dans
la function HICON2StdPicture(ByVal hIcon As IntPtr) --> la valeur de
hIcon etais 0 c'est a dire invalide ... (je crois que une erreur dans
explorer lui-meme en est la cause, il n'y aurais pas une façon
asynchrone(asynchronous) plus sur?)
*Le probleme persite apres la premiere erreur jusqu'a ce-que l'on quite
windows ou redémarrer explorer.exe (kill+run). Meime si on Redemare
l'application en question, la meime erreur continue d'etre afficher.
si l'on ne redemare pas explorer, explorer ne fait pas juste "buger"
il declanche une Exception non gérée que voici:
Exception non gérée à 0x01af1000 dans explorer.exe : 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x01af1000.
j'ai ecrit tout cela car ce probleme me frène a pouvoir l'utiliser dans une bare de tâche personaliser(que jai fait pour moi) allors si tu a une idée de comment coriger ce probleme, fait moi en part ici ;-) je visite cette page tout les 2 ou 3 jours.
merci d'avance
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.