begin process at 2012 02 17 03:17:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > SAVOIR À QUEL PROGRAMME APPARTIENT UNE ICONE DE LA ZONE DE NOTIFICATION ("TRAY") ET LISTER LES ICONES

SAVOIR À QUEL PROGRAMME APPARTIENT UNE ICONE DE LA ZONE DE NOTIFICATION ("TRAY") ET LISTER LES ICONES


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Système Classé sous :tray, systray, icône, barredestâches, notification Niveau :Expert Date de création :25/07/2004 Date de mise à jour :26/02/2006 22:54:45 Vu / téléchargé :9 663 / 790

Auteur : ShareVB

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note


 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/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)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

06 août 2004 22:17:26 :
Prise en charge de 9x/ME/2000 Renvoi du nom de processus par les apis
20 décembre 2004 16:11:10 :
Prb d'icônes
30 décembre 2004 17:51:40 :
Ajout de l'affichage du menu contextuel
30 décembre 2004 22:07:08 :
Correction de bug Ajout de l'affichage des menus contextuels
26 février 2006 22:54:45 :
prise en charge de NT4 et Vista

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) CLONE/FORK DES FLUX DE LA CONSOLE : PERMETTRE LA REDIRECTION...
Source avec Zip Source .NET (Dotnet) DÉFRAGMENTER UN FICHIER
Source avec Zip Source .NET (Dotnet) ECRAN DE VEILLE : DÉTECTER LE LANCEMENT/DÉCLENCHER/EMPÊCHER
Source avec Zip Source .NET (Dotnet) AUTORUN : DÉTECTION DU LANCEMENT DE L'AUTORUN, DÉTECTION DU ...
Source avec Zip Source .NET (Dotnet) NSLOOKUP EN VB.NET OU COMMENT FAIRE UNE REQÛETE DNS EN PRÉCI...

 Sources de la même categorie

Source avec Zip Source avec une capture AUTORISER/REFUSER L'EXECUTION DE PROCESSUS par pierreh51
Source avec Zip Source .NET (Dotnet) CLONE/FORK DES FLUX DE LA CONSOLE : PERMETTRE LA REDIRECTION... par ShareVB
Source avec Zip Source .NET (Dotnet) DÉFRAGMENTER UN FICHIER par ShareVB
Source avec Zip Source .NET (Dotnet) ECRAN DE VEILLE : DÉTECTER LE LANCEMENT/DÉCLENCHER/EMPÊCHER par ShareVB
Source avec Zip Source avec une capture DESACTIVER / ACTIVER LES MISES EN VEILLES PC par Arsena

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SYSTRAY + BALLOON - VARIANTE AVEC TEXTE DANS L'ICÔNE par jack
Source avec Zip SYSTRAY: VIRER N'IMPORTE QUELLE ICÔNE par Dragonmaster
Source avec Zip Source avec une capture RÉCUPÉRER LES ICONES DU SYSTRAY DANS VOTRE PROGRAMME : OCX S... par MadM@tt
Source avec Zip Source .NET (Dotnet) ROUTEUR DE FICHIERS EN TRAY ICON par marmous
Source avec Zip Source .NET (Dotnet) SAVOIR À QUEL PROGRAMME APPARTIENT UNE ICONE DE LA ZONE DE N... par ShareVB

Commentaires et avis

Commentaire de jmlucienvb le 26/07/2004 13:07:49

Ne marche pas sous 2000....

Commentaire de phtribaudeau le 30/07/2004 14:42:55

ne marche pas sous Wint NT 4 non plus : plante sur l'instruction UBound(ticons) au début du forms. Visiblement, la fonction GetTrayIcons ne fonctionne pas...
A revoir donc.

A++

Commentaire de ShareVB le 01/08/2004 16:57:39

salut

ce code sera bientôt mis à jour pour prendre en compte 9x/ME/2000... cela vient de  GethWndTray qui est différent pour 2000 :

Private Function GethWndTray() As Long
Dim hwnd As Long 'handle
'on descend dans la hiérarchie parent-enfant
hwnd = FindWindow("Shell_TrayWnd", vbNullString)
hwnd = FindWindowEx(hwnd, 0&, "TrayNotifyWnd", vbNullString)
'jusqu'à obtenir le handle de la barre d'outils faisant de tray
GethWndTray = FindWindowEx(hwnd, 0&, "ToolbarWindow32", vbNullString)
End Function

sous NT4, je ne sais pas (et je ne peux pas tester)

sous 9x, c totalement différent... (NT4 c peut etre pareil)

ShareVB

Commentaire de MadM@tt le 05/08/2004 23:04:01

C'est puissant tout ça !!

Commentaire de ShareVB le 30/12/2004 20:11:53

salut,

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

ShareVB

Commentaire de scelw le 21/05/2005 21:44:01

je suis débutant et j'ai un peu de mal... J'aimerais ajouter une fonction (dans le premier module) pour pouvoir cacher/dévoiler l'icône de n'importe quelle application présente dans le systray, mais je ne sais pas exactement comment faire. J'ai essayé de faire des trucs qui ressemblaient grossomodo à "SendMessage hIcon, TB_HIDEBUTTON" mais ça ne marche pas... :(
Pourrais-tu m'aider à écrire cette fonction (qui ne doit pas faire plus d'une ou deux lignes, d'ailleurs)?

Commentaire de ShareVB le 26/02/2006 23:01:15

salut,

corrigé pour fonctionner sur NT4, 98, 2000, 2003, XP, Vista...

ShareVB

Commentaire de MadM@tt le 26/02/2006 23:59:00

Meme sous Vista lol, on peut dire que tu prévois.
En tout cas c'est vraiment exceptionnel tout ça à mes yeux !

Commentaire de VBGenesis le 04/05/2006 18:40:21

Salut à tous j'aimerais savoir comment on peut faire pour que l'icone de son appli apparaisse dans à coté de l'horloge?

Commentaire de MadM@tt le 20/08/2006 02:14:59

Lorsque je veux appeler les fonctions de ta dll perso, il y a une erreur me disant qu'il ne trouve pas le fichier InterprocessImageList.dll
J'ai bien mis la dll dans le repertoire de mon appli pourtant. Par contre j'ai voulu mettre ton code dans un ocx, c'est peut etre la que ça foire ?

Commentaire de MadM@tt le 20/08/2006 02:17:40

Arf désolé, j'avais pas relancé le projet... J'étais à 2 doigts d'abandonner
ça marche nickel ;)

Commentaire de werdDomain le 20/12/2007 10:52:48

Salut, Ton code est #1! exactement ce que je cherchais.
a ma grande deception en vb6 :( j'utilise vb.net et je ne connais pas bien les type et la diference de syntax de vb6. De plus je ne dispose pas de visual studio 6... Jai bien observer des similitude mais je suis bloquer a plusieurs points dans la traduction de vb6 à vb.net.
J'ai une application qui remplace la bare des tache mais je doit utiliser un "MASK" transparent pour pouvoir utiliser les icons du "tray".

Allors voila, jai besoin d'aide. J'ai pas l'habitude de demender la charitée mais je fait une exception.Une fois complet je publirais mon project sur vbfrance.com

Si il y a quelqun qui connais bien vb6 et vb.net et qui veut bien traduire ce que jai besoins (surtout ce qui ce trouve dans common.bas)

jai seulement besoin  de la liste des icones et son hWnd.

ou si qq1 a vb6 et qui veut bien me compiler un DLL contenant les function/sub/type(structure) qui suporte COM si posible

merci je laisse mon e-mail pour me rejoindre
retirez l'antispam("antispam-")
antispam-rnsoft_projects@hotmail.com

Commentaire de ShareVB le 22/12/2007 12:35:56

salut tout le monde,

Voici le lien vers la version VB.Net : http://www.vbfrance.com/code.aspx?ID=36280

werdDomain : je ne me rappelé même plus avoir fait une version VB.Net...je vais d'ailleurs la transformer en vrai POO...

ShareVB

Commentaire de dhumeau le 30/09/2010 14:38:56

Bonjour à tous,

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 ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Systray Affichage d'un pourcentage d'avancement [ par thtdlx2 ] Bonjour,J'ai cherché sur le site un moyen d'afficher dans le Systray une icône représentant le pourcentage d'avancement d'une action en temps réel (mi problème de systray [ par marcod59 ] Bonjour,J'ai un programme systray qui fonctionne bien sur 2 programmes. J'ai commencé une autre application, et j'ai un problème avec ce même systray. Faire disparaitre icone du tray lorsque programme quitté [ par seozus ] Jai une application utilisant un systray icon. Mais lorsque je ferme celui ci, l'icone reste dans le systray, je dois passer ma souris par dessus pour icone NotifyIcon (systray icone) [ par steph064 ] Là je n'arrive pas à trouver comment changer simplement l'icône de mon NotifyIcon lors d'un événement.J'ai déjà attribuer une icône à celui-ci mais lo Compilation avec icône personnalisée [ par js8bleu ] Bonjour à tous, j'aimerai que lorsque je compile mon programme vb, au lieu d'avoir comme icône, l'icône par défaut des programmes compilés de VB que menu + systray [ par Claiyah ] bonjour j'ai une application dans lequel j'ai mis un systray, quand clic sur un bouton elle devient invisible et apparait pres de l'horloge du systèm .Net - Récupérer l'icone d'un raccourçis *.lnk sans la fleche... [ par magicgus ] Bonjour, Ça y est je me suis enfin lancer dans le vb.net, j'ai mis le temps je sait mais je commence tout juste à démystifier la chose Je me trouve d afficher des messages dans la zone de notification sous forme de d'info bulle [ par toutoughou ] Bonjour; comment faire pour afficher des messages dans la zone de notification sous forme de d'info bulle ? quelqu'un a déjà un exemple ? Merci d'av Comparer 2 images (ImageList) [ par PrinceSilk ] Bonjour, Voilà toute l'histoire: Un de mes programmes stock un ensemble d'icônes dans une ImageList. Mais il se trouve (souvent même) que le même ic Récupéré une icone dans sa ressource ? [ par sth56500 ] Bonjour , je souhaite pouvoir "embarqué" une .ico (ressources)dans mon petit utilitaire afin qu'il puisse copier cette icône dans un fichier voulu. (


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,090 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales