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 Forms Discussion :

[VB2005][Processus externe] Comment faire pour attendre la fin de son exécution ?


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Points : 125
    Points
    125
    Par défaut [VB2005][Processus externe] Comment faire pour attendre la fin de son exécution ?
    Bonsoir à tous,

    J'ai un souci avec un processus lancé via mon application. Je m'explique, mon application lance un processus chargé de faire une sauvegarde rapide des fichiers de données. Malheureusement la suite du code s'exécute alors que la sauvegarde n'est toujours pas terminée. Comment faire pour dire à mon application que la sauvegarde est toujours en cours et qu'elle doit attendre que celle-ci finisse pour continuer ? J'ai essayé avec WaitUntilExit mais ça n'a rien donné, surtout qu'il me demande de renseigner une durée en millisecondes.

    Mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                  Dim proc As New System.Diagnostics.Process()
                    'Nom de l'executable à lancer
                    proc.StartInfo.FileName = My.Application.Info.DirectoryPath & "\sauvegarde_rapide.exe"
                    'Démarrage du processus
                    proc.Start()
                    'On libère les ressources dont on a plus besoin.
                    proc.Close()
    Merci à tous,

    Ludo

  2. #2
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Utilise la fonction WaitForExit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    proc.WaitForExit(Number_Millisecondes)
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Points : 125
    Points
    125
    Par défaut
    Citation Envoyé par Aspic
    Utilise la fonction WaitForExit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    proc.WaitForExit(Number_Millisecondes)

    J'ai essayé en mettant 5000 millisecondes (en fait c'est WaitForExit que je voulais dire dans mon post précédent et pas WaitUntilExit )

    Mais ça ne marche pas Et le pire c'est que ça plante bien avant les 5 secondes qu'il est censé attendre.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Points : 125
    Points
    125
    Par défaut
    J'ai essayé ça, est-ce que c'est correct ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    While proc.HasExited = False
       Application.DoEvents()
    End While

  5. #5
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    sans spécifier de temps ça marche pas ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Points : 125
    Points
    125
    Par défaut
    Citation Envoyé par smyley
    sans spécifier de temps ça marche pas ?
    Je n'y ai pas pensé, je teste dès que je peux et on verra le résultat.

    En revanche mon code précédent fonctionne apparemment.

  7. #7
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par smyley
    sans spécifier de temps ça marche pas ?
    Oui ca marche je l'utilise
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Points : 125
    Points
    125
    Par défaut
    Nickel ça fonctionne à merveille, l'essayer c'est l'adopter.

    Merci beaucoup

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 21/12/2009, 11h53
  2. Comment faire pour que le server affiche son IP ?
    Par Poison_xtreamlua dans le forum Réseau
    Réponses: 2
    Dernier message: 06/08/2008, 12h16
  3. Réponses: 2
    Dernier message: 17/10/2006, 23h55
  4. comment faire pour afficher l'adresse IP externe ?
    Par longbeach dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 17/08/2006, 14h04
  5. Comment faire pour savoir quel processus utilise un DLL
    Par Furius dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 02/11/2005, 18h03

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