Placer l'icone de son application dans le systray, c'est simple

Soyez le premier à donner votre avis sur cette source.

Vue 9 849 fois - Téléchargée 1 432 fois

Description

Le problème est abordé de manière basique, sans les fioritures techniques qui embrouillent le néophyte (dont je fais partie ;).
Car souvent, il n'y a pas besoin de plus : il s'agit que le programme soit invisible au démarrage, tourne en tâche de fond, et puisse être appelé depuis le System Tray.
Pour rester dans la simplicité, je me contente d'utiliser l'icone principale de l'application, et son titre qui apparait en info bulle au passage de la souris sur la TrayIcon.
Un simple clic droit sur l'icone fait apparaître le menu, un double-clic fait apparaitre la fiche principale.
N'hésitez pas à lire les commentaires (dans le zip), j'ai fait un effort d'explication (quand je pouvais...), et une fois assimilé le fonctionnement de base, on ne peut qu'être incité à aller plus loin.
Pour revenir au code, j'ai épuré un maximum, car si l'on trouve "moult" pages sur le net concernant le sujet (surtout anglo-russo-germanophones), pas mal de ces codes sont encombrés de déclarations redondantes (donc inutiles) qui les rendent confus, ou leur technicité peut rebuter un non initié.
Une mention particulière pour le travail de NoNo40 (sur ce site et sur Developpez.com), dont le travail explicatif compense la complexité du propos, et en français, please... Merci à lui.
Voilà, il ne restera plus qu'à lancer votre programme au démarrage en utilisant la base de registre, et votre appli aura rejoint le niveau "pro" ;)

Source / Exemple :


Commentaires et code dans le zip

Conclusion :


Fait sous Delphi 4 Professionnel - Build 5.108 (qui a dit "ça nous fait une belle jambe" ?)
Enfin, bref, compilable avec une "vieille" version de Delphi ;)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_Toshiiro Messages postés 9 Date d'inscription mardi 28 avril 2009 Statut Membre Dernière intervention 3 mai 2009
29 avril 2009 à 22:30
10/10 merci pour cette excellente source qui m'a été super utile :D.
cs_pebayart Messages postés 17 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 6 février 2014
23 mars 2007 à 17:11
Excellent merci pour cette source.
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
18 nov. 2004 à 11:09
Tres bonne source.

Bravo.

Bonne continuation sur le réseau.
croustibat82 Messages postés 79 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 29 juin 2004
1 juil. 2004 à 18:50
ça va, c'est bien codé (tellement bien que je n'y comprends rien lol) je crois que je vais m'en servir!
ronchon_sama Messages postés 14 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 4 juillet 2005
9 mai 2004 à 17:28
Merci pour ce code simple et efficace. Je l'ai utilisé dans mon application 'ScreenSource'.
Il existe aussi une nouvelle version qui permet d'étendre le titre et d'afficher des infos-bulles:
TNotifyIconDataEx = record
cbSize: DWORD;
Wnd: HWND;
uID: UINT;
uFlags: UINT;
uCallbackMessage: UINT;
hIcon: HICON;
szTip: array[0..127] of AnsiChar dwState: DWORD;
dwStateMask: DWORD;
szInfo: array[0..255] of AnsiChar;
uTimeout: UINT; // union with uVersion: UINT;
szInfoTitle: array[0..63] of AnsiChar;
dwInfoFlags: DWORD;
end;

Merci encore. 10/10

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.