Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
23 mars 2006 à 09:38
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
5 mai 2008 à 10:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 5 mai 2008 à 10:37
mais dédiez une fenetre pour ça, hein, pas de Form_MouseMove ^^
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 5 mai 2008 à 10:36
picturebox, fenetre créé a la volée, bouton....
libre a vous, en fait...
cs_JLN
Messages postés371Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention17 juin 2013 4 mai 2008 à 11:02
si je peux me permettre de compléter...
Si vous utilisez un ctrl ToolBar utilisez un picturebox pour le hwnd sinon les cliques sur l'icone du systray ne seront pas percu. Enfin, moi c'est tout que j'ai trouvé comme alternative...
Bonne prog,
@+ JLN
cs_patrick
Messages postés31Date d'inscriptionvendredi 19 mai 2000StatutMembreDernière intervention21 juillet 2015 26 mars 2008 à 10:23
Super, ce problème devenait de plus en plus génant dans les applis.
Sinon, autre petit truc au niveau du menu que l'on affiche lors du click sur l'icon dans dans le systray : par defaut, une fois affiché, il faut absolument cliquer sur un item du menu pour le faire disparaitre. Pour réglé ce problème, dans la rocedure Form_MouseMove, ajouter "SetForegroundWindow Me.Hwnd" juste avant l'appel de "Me.PopupMenu Me.MnuSysTray..."
Exemple :
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case X / Screen.TwipsPerPixelX
Case BOUTON_CLICK_DROIT:
Call MnuHelp_Click
Case BOUTON_CLICK_GAUCHE:
SetForegroundWindow Me.Hwnd
Me.PopupMenu Me.MnuSysTray, , , , Me.MnuHelp
End Select
End Sub
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 mars 2006 à 17:18
suffit de chercher dans La doc : MSDN
cs_dagdoug
Messages postés5Date d'inscriptionsamedi 8 mars 2003StatutMembreDernière intervention28 mars 2006 28 mars 2006 à 17:05
c'est super merci
voila un truc que je cherchais depuis longtemps !!
cs_Elektordi
Messages postés186Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention21 janvier 2008 26 mars 2006 à 16:09
Allez dans les options de dossiers et activez "Ouvrir les fenetres dans des processus différants" (ou un truc du genre dans l'onglet avancé)...
Comme ca la barre de taches ne redémarrera que si le plantage concerne le bureau ou le menu démarrer et tuer un explorateur ne les fermera pas tous !!!
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 26 mars 2006 à 15:33
y'a une petite chose qui me déplait, clémentio, et que j'ai déjà mentionné, c'est le fait que tu renommes les constantes des APIs.
Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 20073 25 mars 2006 à 18:11
euh Jack je sais pas si tu confond mais internet explorer as pour processus IEXPLORER.exe alors que windows a juste explorer.exe
sinon c'est vrai que on pense pas souvent a ce prblm de plantage, c'est un tres bonne source autant sur le code que sur le concept et son utilité, 10/10 (largement merité)
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 24 mars 2006 à 09:03
>Clem, Renfield :
Merci pour vos réponses, c'est bien ce qui me semblait.
>Jack :
Quand IE plante, Explorer plante aussi ??
++
Moustachu
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 23 mars 2006 à 19:29
Interessant Clementio. Merci
Pour info en passant :
Dans Vista, les fenêtres IE seront indépendantes du bureau et un plantage d'une fenêtre IE ne provoquera que le plantage de cette fenêtre.
clementio
Messages postés432Date d'inscriptionsamedi 18 mai 2002StatutMembreDernière intervention17 février 20141 23 mars 2006 à 19:05
Merci les gars!!!
Mais bon, je n'ai fait que matérialiser une idée soufflée par Renfield. Eh oui, c'est lui qui m'a parlé de ça le premier (cf ma source météo).
En tout cas c'est bien mais c'est galère car il faut que je me retape toutes mes source utilisant le systray pour intégrer ça...
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 23 mars 2006 à 18:32
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 23 mars 2006 à 18:12
J'utilise ce message dans un de mes OCX...
Je passe mon temps à réclamer cette fonctionnalité dans les sources qui intègrent une icone en Systray, afin que les codes sources soient a complet a ce point de vue là...
seul Clémentio à repondu à l'appel, bien joué, ça apporte un pluvalue non négligeable, n'est-il pas ? ^^
VBEnJ0Y
Messages postés25Date d'inscriptionsamedi 11 mars 2006StatutMembreDernière intervention 5 octobre 2006 23 mars 2006 à 18:03
Bien joué clementio !
Connaissais pas ce fameux "TaskbarCreated", super pratique !
++
VBEnJ0Y
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 23 mars 2006 à 15:44
pas faisable, non...
clementio
Messages postés432Date d'inscriptionsamedi 18 mai 2002StatutMembreDernière intervention17 février 20141 23 mars 2006 à 15:32
Elle reste car en plantant ton appli ne peux pas appelé
Shell_NotifyIcon SUPPRIME, IconeT
au Form_Unload.
Donc je ne crois pas que ce soit possible. A moins d'avoir un prog externe qui connait le handle de ton icône et qui soit capable de détruire l'icône si ton appli ne tourne plus. Mais là, c'est se compliquer pour pas grand chose!!!!
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 23 mars 2006 à 15:26
Ah oui, c'est très chouette ça !
Je suis parfois confronté à un autre problème : quand l'appli plante, l'icone reste dans le systray jusqu'à ce qu'on la survole à nouveau. Existe-t-il un code magique pour cela aussi ?
++
Moustachu
cs_nico1610
Messages postés395Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention19 juin 20091 23 mars 2006 à 11:24
Quand je pense que sa fait tellement longtemps que je cherchai ca !!
Super!
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 23 mars 2006 à 09:38
Super, je suis assez sensible à cela, c'est une fonctionnalité importante qui manque dans beaucoup de sources...
5 mai 2008 à 10:37
5 mai 2008 à 10:36
libre a vous, en fait...
4 mai 2008 à 11:02
Si vous utilisez un ctrl ToolBar utilisez un picturebox pour le hwnd sinon les cliques sur l'icone du systray ne seront pas percu. Enfin, moi c'est tout que j'ai trouvé comme alternative...
Bonne prog,
@+ JLN
26 mars 2008 à 10:23
Sinon, autre petit truc au niveau du menu que l'on affiche lors du click sur l'icon dans dans le systray : par defaut, une fois affiché, il faut absolument cliquer sur un item du menu pour le faire disparaitre. Pour réglé ce problème, dans la rocedure Form_MouseMove, ajouter "SetForegroundWindow Me.Hwnd" juste avant l'appel de "Me.PopupMenu Me.MnuSysTray..."
Exemple :
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case X / Screen.TwipsPerPixelX
Case BOUTON_CLICK_DROIT:
Call MnuHelp_Click
Case BOUTON_CLICK_GAUCHE:
SetForegroundWindow Me.Hwnd
Me.PopupMenu Me.MnuSysTray, , , , Me.MnuHelp
End Select
End Sub
A+ Patrick
4 févr. 2007 à 17:19
28 mars 2006 à 17:18
28 mars 2006 à 17:05
voila un truc que je cherchais depuis longtemps !!
26 mars 2006 à 16:09
Comme ca la barre de taches ne redémarrera que si le plantage concerne le bureau ou le menu démarrer et tuer un explorateur ne les fermera pas tous !!!
26 mars 2006 à 15:33
25 mars 2006 à 18:11
sinon c'est vrai que on pense pas souvent a ce prblm de plantage, c'est un tres bonne source autant sur le code que sur le concept et son utilité, 10/10 (largement merité)
24 mars 2006 à 09:03
Merci pour vos réponses, c'est bien ce qui me semblait.
>Jack :
Quand IE plante, Explorer plante aussi ??
++
Moustachu
23 mars 2006 à 19:29
Pour info en passant :
Dans Vista, les fenêtres IE seront indépendantes du bureau et un plantage d'une fenêtre IE ne provoquera que le plantage de cette fenêtre.
23 mars 2006 à 19:05
Mais bon, je n'ai fait que matérialiser une idée soufflée par Renfield. Eh oui, c'est lui qui m'a parlé de ça le premier (cf ma source météo).
En tout cas c'est bien mais c'est galère car il faut que je me retape toutes mes source utilisant le systray pour intégrer ça...
23 mars 2006 à 18:32
http://www.cppfrance.com/code.aspx?ID=36629
enfin, il tente ^^
23 mars 2006 à 18:12
Je passe mon temps à réclamer cette fonctionnalité dans les sources qui intègrent une icone en Systray, afin que les codes sources soient a complet a ce point de vue là...
seul Clémentio à repondu à l'appel, bien joué, ça apporte un pluvalue non négligeable, n'est-il pas ? ^^
23 mars 2006 à 18:03
Connaissais pas ce fameux "TaskbarCreated", super pratique !
++
VBEnJ0Y
23 mars 2006 à 15:44
23 mars 2006 à 15:32
Shell_NotifyIcon SUPPRIME, IconeT
au Form_Unload.
Donc je ne crois pas que ce soit possible. A moins d'avoir un prog externe qui connait le handle de ton icône et qui soit capable de détruire l'icône si ton appli ne tourne plus. Mais là, c'est se compliquer pour pas grand chose!!!!
23 mars 2006 à 15:26
Je suis parfois confronté à un autre problème : quand l'appli plante, l'icone reste dans le systray jusqu'à ce qu'on la survole à nouveau. Existe-t-il un code magique pour cela aussi ?
++
Moustachu
23 mars 2006 à 11:24
Super!
23 mars 2006 à 09:38
bien joué.