IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Forcer la fermeture d'une application


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Points : 58
    Points
    58
    Par défaut Forcer la fermeture d'une application
    Bonjour,

    Ma question est très simple:
    Quelle commande pour forcer la fermeture d'une application (y compris si des threads restent en mémoire) ?

    Voici un exemple de code ne fonctionnant pas !

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public partial class MainWindow : Window
    	{
    		public MainWindow()
    		{
    			Thread thread = new Thread(new ThreadStart(WorkThreadFunction));
    			thread.Start();
     
    			InitializeComponent();
    		}
     
    		private void Button_Click(object sender, RoutedEventArgs e)
    		{
    			App.Current.Shutdown();
    		}
     
    		private void WorkThreadFunction()
    		{
    			int i = 0;
     
    			while (true)
    			{
    				Thread.Sleep(1000);
    				Console.WriteLine("Wait " + i++);
    			}
    		}
    	}

    L'application graphique se ferme bien, mais elle reste en mémoire. Il faut aller dans la gestion des taches et demander qu'elle soit tuer.

    Quelqu'un a t il une solution a ce problème ou la seule solution est elle de gérer la fin des threads?

    Merci d'avance.

    Aranoud.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 182
    Points : 4 496
    Points
    4 496
    Par défaut
    Il faut géré la fin des threads.
    Si ils sont dans une boucle, tu ajoutes une variable que tu set à true quand ils doivent se fermer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while(!hasToStop) {...}
    tu as aussi le Thread.Abort() mais c'est mal

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Arnaoud Voir le message
    Quelqu'un a t il une solution a ce problème ou la seule solution est elle de gérer la fin des threads?
    T'as essayé Application.Exit();

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Points : 58
    Points
    58
    Par défaut
    @BenoitM: J'ai pas précisé mais ces threads qui posent problèmes sont différents du thread que j'ai mis en exemple.

    @h2s84: Je pense que tu voulais marquer Effectivement, ça fonctionne parfaitement.

    Merci bien!
    Je clos la question

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 182
    Points : 4 496
    Points
    4 496
    Par défaut
    Application.Exit(0) c'est en winform, on vérifie pas toujours la technologie quand on répond à une question

    Sinon je ne sais pas ce que font tes threads mais c'est toujours mieux de passer par une variable pour être sur de ne pas les tuer pendant une opération critique (mise-à-jour base de données, écriture d'un fichier, communication réseau, ne pas libéré proprement des resources ...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Forcer de tuer un process après fermeture d'une applic!
    Par _shuriken_ dans le forum Windows XP
    Réponses: 14
    Dernier message: 26/01/2007, 15h27
  2. Forcer la fermeture d'une application
    Par Bissada dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2005, 21h42
  3. fermeture d'une application après un temp d'inactivité?
    Par sitdown dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 24/08/2005, 15h44
  4. Détection de la fermeture d'une application
    Par vanitom dans le forum MFC
    Réponses: 6
    Dernier message: 19/08/2005, 18h11
  5. [Event]Annuler la fermeture d'une application
    Par willowII dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 16/11/2004, 09h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo