L'application ne se ferme pas [Résolu]

Signaler
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour à tous.

Voila je vous expose mon problème.
J'ai développé une appli qui peut se résuit en system tray.

Cependant, si on souhaite fermer windows, et que cet appli est encore ouverte, le processus de fermeture s'arrete. Windows ferme bien plusieurs applications encore ouvertes, mais arrivé a la mienne, il stoppe.

Quelqu'un a deja eu ce souci ? Vous savez comment résoudre ça ?

J'ai pas beaucoup d'indices à donner... Le prog utilise des timers, il est en system tray... sinon, rien de spécial.

Merci de votre aide !

Mx

9 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
tu n'aurais pas fait une annulation de fermeture dans le closing ?
enfin normalement si l'appli ne se ferme pas quand win le demande y'a une fin de processus qui deboule derrière mais c'est un peu moins elegant ^^

Cocoricoooooooo !!!!
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
46
j'avais trouvé ce bout de code :

public const int SC_CLOSE = 0xF060;
public const int WM_SYSCOMMAND = 0x0112;
private bool _closeClick; 

protected override void WndProc(ref System.Windows.Forms.Message m)
{if(m.Msg WM_SYSCOMMAND && (int)m.WParam SC_CLOSE)
this._closeClick = true;
base.WndProc(ref m);
}


ainsi, dans mon form_closing, je peux determiner si _closeClick est a true, ce qui impliquerait que l'utilisateur a cliqué sur la croix ( et qu'il faut mettre l'appli en tray), sinon, c'est que c'est windows...

Par contre, j'aurais bien aimé trouver une page de référence qui recense tout ces type de messages. Mais j'ai pas trouvé. (enfin, j'ai rapidement cherché. il doit bien y avoir ca sur msdn, non ?)
Messages postés
91
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
25 janvier 2007

Il faudra voir le code de ton form, si tu veux plus d'aide.
A+

NO TIME TO WASTE
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
46
En fait oui, je pense que c'est a cause du fait que je catch l'evenement closing pour passer l'application dans le system tray. J'avais pas pensé que ca foirerait la fermeture. En tout cas, windows s'arrete net de fermer, il tente meme pas par la fermeture de processus .

Bon bah je vais essayer de contourner ca.

Merci à vous !
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
via les api tu dois pouvoir determiner si windows est en train de se fermer
ça te permettrais de garder ta mise en tray dans ton closing
et d'annuler la fermeture seulement si elle n'est pas demandée par win

Cocoricoooooooo !!!!
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
46
Voui, la j'essayais de voir si via le parametre sender, je pouvais savoir si c'etait windows qui fermait ou non, mais finalement le sender semble etre toujours le meme.

Je vais chercher alors, comme tu dis, par les apis.
J'espere trouver facilement un exemple, parce que là ca va etre "ma première fois" ^^
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
46
Voila, ca marche impeccable
Merci beaucoup coq ! :)
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
juste par curiosité tu es passé par quoi pour determiner si win etait en cours de fermeture ?

Cocoricoooooooo !!!!
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
normalement oui, dans la section PlatForm SDK

Cocoricoooooooo !!!!