Partage
  • Partager sur Facebook
  • Partager sur Twitter

vb.net attendre qu'un processus charge

    16 mai 2011 à 15:29:30

    Bonjour,

    j'aimerais savoir comment faire pour attendre qu'un processus charge avant de continuer le reste du code car l'application que je lance est assez longue à charger. J'ai un autre problème aussi c'est que parfois ma machine n'a pas assez de ressources pour lancer solidworks et du coup à la ligne 7 ci-dessous l'application plante comment faire pour éviter l'erreur

    j'ai aussi ces erreurs parfois

    Image utilisateur

    Image utilisateur

    MessageBox.Show("avnt")
    
    vRetourProcess = Process.Start("\\frnedt0110\SolidWorks Corp\SolidWorks\SLDWORKS.exe")
    
    MessageBox.Show("apres")
    
    vSWApp = GetObject(, "SldWorks.Application")
    
    vSWApp.Visible = True
    


    merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      16 mai 2011 à 22:10:10

      Process.Start("\\frnedt0110\\SolidWorks Corp\\SolidWorks\\SLDWORKS.exe")

      Il faut que tu doubles tous tes "\"
      • Partager sur Facebook
      • Partager sur Twitter
        16 mai 2011 à 22:35:13

        Je ne sais pas si ça suffira dans ton cas, mais une façon de faire ça serait de créer un objet Process, d'appeler sa méthode Start() pour le démarrer (au lieu de la méthode statique Process.Start) et de consulter régulièrement sa propriété IsResponding pour voir si le programme répond (ce qui devrait être le cas à priori s'il a terminé son chargement).
        Ca ressemblerait à ça:

        Dim myProcess As New Process()
        
        myProcess.StartInfo.UseShellExecute = False
        myProcess.StartInfo.FileName = "\\frnedt0110\\SolidWorks Corp\\SolidWorks\\SLDWORKS.exe"
        myProcess.Start()
        ' ici, on lance un timer qui vérifiera régulièrement si le process répond
        


        L'appel à GetObject pour afficher la fenêtre est à priori inutile, l'application étant visible par défaut.
        • Partager sur Facebook
        • Partager sur Twitter
          17 mai 2011 à 8:48:14

          merci,

          j'ai fait ceci mais je n'arrive pas à gérer le timer

          Dim vTimer As New System.Timers.Timer(100000)
          ...
          MessageBox.Show("avnt")
          
          vRetourProcess.StartInfo.UseShellExecute = False
          vRetourProcess.StartInfo.FileName = "\\frnedt0110\\SolidWorks Corp\\SolidWorks\\SLDWORKS.exe"
          vRetourProcess.Start()
          
          vTimer.Interval = 2000
          vTimer.Enabled = True
          vTimer.Start()
          
          If vRetourProcess.Responding Then
          


          à faire genre tant que le timer n'est pas à zéro vérifier si le processus répond
          • Partager sur Facebook
          • Partager sur Twitter
            19 mai 2011 à 15:17:54

            personne pour m'aider
            • Partager sur Facebook
            • Partager sur Twitter

            vb.net attendre qu'un processus charge

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown