SYSTRAY ET PLANTAGE D'EXPLORER.EXE

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 23 mars 2006 à 09:38
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 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.

https://codes-sources.commentcamarche.net/source/36677-systray-et-plantage-d-explorer-exe

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 mai 2008 à 10:37
mais dédiez une fenetre pour ça, hein, pas de Form_MouseMove ^^
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 mai 2008 à 10:36
picturebox, fenetre créé a la volée, bouton....

libre a vous, en fait...
cs_JLN Messages postés 371 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 17 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és 31 Date d'inscription vendredi 19 mai 2000 Statut Membre Dernière intervention 21 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


A+ Patrick
Utilisateur anonyme
4 févr. 2007 à 17:19
merci, super boulot, ça m'a bien dépanné ;)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 mars 2006 à 17:18
suffit de chercher dans La doc : MSDN
cs_dagdoug Messages postés 5 Date d'inscription samedi 8 mars 2003 Statut Membre Dernière intervention 28 mars 2006
28 mars 2006 à 17:05
c'est super merci
voila un truc que je cherchais depuis longtemps !!
cs_Elektordi Messages postés 186 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 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és 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
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és 414 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 26 juillet 2007 3
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és 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Derniè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és 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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és 432 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 février 2014 1
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és 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 mars 2006 à 18:32
ah bah non, un autre a répondu ^^

http://www.cppfrance.com/code.aspx?ID=36629

enfin, il tente ^^
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
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és 25 Date d'inscription samedi 11 mars 2006 Statut Membre Dernière intervention 5 octobre 2006
23 mars 2006 à 18:03
Bien joué clementio !

Connaissais pas ce fameux "TaskbarCreated", super pratique !

++
VBEnJ0Y
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 mars 2006 à 15:44
pas faisable, non...
clementio Messages postés 432 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 février 2014 1
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és 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Derniè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és 395 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 19 juin 2009 1
23 mars 2006 à 11:24
Quand je pense que sa fait tellement longtemps que je cherchai ca !!
Super!
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 mars 2006 à 09:38
Super, je suis assez sensible à cela, c'est une fonctionnalité importante qui manque dans beaucoup de sources...

bien joué.
Rejoignez-nous