[service vb.net]NotifyIcon

shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 22 mars 2006 à 15:40
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 23 mars 2006 à 18:00
Bonjour,

j'aimerai un service de la part de n'importe qui, il faudrai me faire un prog en vb.net de préférence 2.0 mais sinon 1.1, avec juste un bouton , et une notifyicon, et quand on clic sur le bouton ca fait un message au dessus de la notifyicon, bref l'affaire de deux minutes,

Ce code n'est pas pour me faire un ptit code tout joli mais en fait pour voir si c'est mon pc qui merde au niveau de l'affichage de notifyicon ou si c'est moi qui ai un probleme au niveau de ma prog, mais bon j'ai posté ici et sur développez.com et meme sur newsgroup france de microsoft et tout le monde me dit que ca devrait marcher...

merci ensuite d'uploader le projet complet avec les sources ou de me l'envoyer a: [mailto:shadow@windevel.com shadow@windevel.com]

PS: bien vérifier svp que le programme marche et que la notify icon affiche bien le message :)

Merci d'avance a celui qui me consacrera deux minute de son temps :)

7 réponses

rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
22 mars 2006 à 16:55
Salut Shadow,

si tu parle de l'infobule, ou du balloon, sache qu'il existe une nouvelle structure NOTIFYICONDATA, différente de la plupart des sources que l'on trouve ça et là.

En fait, à ma connaissance (récente), il en existe 3 versions : pre 5.0, pre 6.0 et 6.0, correspondant à la version de Shell32.dll (lisible avec DllGetVersion)

en pre 5.0, la structure s'arrête au szTip (infobulle) et le Tip est limité à 64 o.
en pre 6.0, la structure utilise un szTip de 128 o, et déclare un dwState (hidden ou shared icon), un dwStateMask (pour le dwState), un szInfo[256] (texte du balloon), une union UINT (pour le timeout du ballon ou la version du comportement souhaité, W95 ou W2K), un szInfoTitle[64] (titre du balloon), et un dwInfoFlags (pour l'icon du balloon).
en 6.0, la structure ajoute en plus un GUID guidItem.

De plus, des commandes supplémentaire existent (NIF_STATE, NIF_INFO, NIF_GUID), et il y une astuce pour la taille de la structure.

Autre chose, encore : Chez microsoft.com, j'ai trouvé la pre 6.0, et la 6.0 est dans la doc du .NET.
http://search.microsoft.com/results.aspx?mkt=en-US&setlang=en-US&q=notifyicondata_v2_size

Enfin, je n'ai pas encore porté en VB,

à+

rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
22 mars 2006 à 17:09
tu pourrai montrer un exemple vraiment concret ou autre, car ne m'aide pas beaucoup, et puis je ne comprend pas l'interet d'utiliser une API Win32 alors que le framework est quand même censé avoir de quoi afficher une infobulle sur une notifyicon
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
22 mars 2006 à 17:27
Scuse moi, mais l'info, c'était pas pour toi, c'était pour celui qui allait bien vouloir coder à ta place!

non, je ne suis fâché, mais je suis rancunier, alors il vaut que je le dise tout de suite, des fois que ça soit moi qui m'y colle (à coder à ta place)!


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
22 mars 2006 à 18:11
bein je sais pas mais moi j'pensais plus utiliser directement le framework, de la maniere suivante.

Private Sub NotifierClient()
Notif.BalloonTipTitle = "Nouveau contenu dans le presse papier"
Notif.BalloonTipText = "Nouveau contenu du presse papier ajouté a ControlClipBoard"
Notif.BalloonTipIcon = ToolTipIcon.Info
Notif.ShowBalloonTip(6000)
End Sub

mais ca n'affiche pas ce maudit notifyicon message
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
22 mars 2006 à 21:32
Ok Shadow,

j'me suis emporté, et on a toujours tort de s'emporter.

Ensuite, je suis pas spécialiste du FrameWork, mais je crois connaitre un peu Windows (ou alors, c'est Windows qui me connait).
Etant moi même coincé sur un problème du même genre, j'essaie de pointer mon nez là où ça crépite le plus. Mon post est vieux, le tien viens d'arriver, entre temps, j'ai pas chômé, j'ai réuni des infos concrêtes, je participe, tout ça tout ça...

Il apparait que, dans certaines conditions, l'icone ou ses infos ne s'affichent pas.

J'ai testé, et par exemple, si j'utilise mal la structure que je passe à la fonction API Shell_NotifyIcon, j'ai un emplacement qui apparait, mais sans l'icone. C'est lié, ici à une erreur de programmation de ma part.

Ensuite, pour mon précis, dans certaines conditions de configuration du contexte d'exécution de mon programme, l'icone apparait, dans d'autres, non. J'ai obtenu conseil sur ce site, et le conseil était bon. Ca ne m'a pas donné une solution finie pour autant, mais je sais que ce n'est pas un bug système, mais encore une erreur (ou une fausse espérance) de ma part.

Pourquoi je te raconte ma vie? à mon avis, ton objet est fiable, mais peut-être que l'utilisation que tu en fais n'est pas correcte!

Tiens, par exemple, ce que tu as écris a l'air de configurer le tooltip (titre et texte) du balloon, et l'icone du balloon. A l'avant dernière affectation, tu donnes "ToolTipIcon.Info" pour l'icone du balloon. En regardant la structure que je connais, je sais que c'est un flag pour choisir l'icone, mais Info, qu'est-ce que c'est?


Ensuite, en lisant la doc du .NET, je vois qu'il existe des commandes pour ajouter l'icone, la modifier, l'enlever, lui définir son état, lui configurer le balloon, et récupérer le GUID. Toi, tu ne fais voir qu'un bout de code, qui ne fait que demander l'affichage du balloon! je vois bien que tu utilise "ToolTipIcon", et que tu l'as configurée, mais sais-tu si le FrameWork fait toutes ces diverses opérations en une fois ou pas?

J'espère autant que toi avoir des infos,
à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
23 mars 2006 à 17:46
normalement en fait cette sub suffit a elle seule de définir le texte du tooltip, ainsi que le titre et l'icone , ToolTipIcon.Info etant l'icone en forme de bulle avec un "i" dedans (je parle sous xp, car sous 9x je ne me souviens pas) elle correspond au MB_ICONINFORMATION dans les api win32, normalement cela devrais suffir a l'affichage pourtant quelque chose ne marche pas, ce qui me surprend le plus et c'est la ou je pense que tu as raison c'est que ca doit etre mon code qui défaille, car au debug le programme execute bien chaque ligne, il doit sans doute donc manquer quelque chose... mais quoi...
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
23 mars 2006 à 18:00
j'ai cependant remarqué une chose, le son de windows qui se fait normalement a chaque affichage d'un message de notification se fait bien, mais il y a juste le balloon qui ne s'affiche pas, et j'ai remarqué aussi que quand je crée un composant tooltip et que je met .IsBalloon = True, celui ci ne s'affiche pas, mais si je ne met pas ce IsBalloon = True , on garde les anciens tooltip comme sous 9x, (rectangulaires quoi)

cependant je ne peux pas y vérifier avec la notifyIcon car le .IsBalloon n'existe pas...
0
Rejoignez-nous