Applications iconifiées : toujours prêtes.

Description

Pour que l'application que vous développé soit accessible rapidement en un clic, il existe deux solutions :
- Soit vous développez un plug-in today.
- Soit vous iconifiez votre application dans le SystemTray.

Je vous propose une application template qui s'iconifie. Le petit plus c'est qu'elle est capable
d'afficher plusieurs icones. Chaque icone aura sa propre fonction ...
Vous pouvez utiliser la classe NotifyIcons directement dans vos projets, seules quelques lignes sont à rajouter dans votre Main.

Le code compile avec le Compact Framework 1.0 sous VS2003 et fonctionne sur mon Qtek mais ne semble pas fonctionner avec mon vieil Ipaq3800 ( je vais approfondir cela )

Source / Exemple :


NotifyIcons = new NotifyIcons();
// On passe le délégué à la classe qui gère les icones
NotifyIcons.Click+=new EventHandler(NotifyIcons_Click);
NotifyIcons.AddToSystemTray (NotifyIcons.ICON_ID_BASE);
NotifyIcons.AddToSystemTray (NotifyIcons.ICON_ID_BASE+1);

private void NotifyIcons_Click(object sender, EventArgs e)
{			
        this.Show();			
	this.BringToFront();
	this.Focus();
}

Conclusion :


Voilà ça marche bien je l'ai utilisé dans mes applications TraficFlask et FastDialFlask ( http://dodgersflasks.blogspot.com/ )
Mais il y a une limitation qui me gène :
Je récupère l'icone de l'application elle même pour m'en servir dans le SystemTray et
j'aimerai bien savoir comment récupérer un hIcon à partir d'un fichier ico en C++ c'est facile, mais en C# :(
La seule solution pour mettre des icones diffèrents, c'est de les ajouter dans
l'exe après compilation via un outil du style XN Resource Editor et ensuite
de prendre son index dans l'exe ExtractIconEx(szPath, 0, 0, ref hIcon, Index);
Bref pas terrible. J'ai essayé pas mal de solution ( d'ailleurs le fichier NotifyIcons.cs contient beaucoup d'external non utilisée ) sans succès :(

Si quelqu'un à la solution merci de la poster :)

Codes Sources

A voir également

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.