Bonjour à tous,

Dans le cadre d'un de mes projets, je dois exécuter des commandes shell dans un programme afin de récupérer des fichiers sur un ftp. Le problème est que vb ne "fait pas de pause" le temps de l'exécution du shell.

J'ai créé une fonction en me servant du WMI, qui me permet de voir si le processus est actif, simplement je dois le tester jusqu'à ce qu'il devienne inactif, et c'est surement tout simple mais là je bloque.

Voici mon code :

Code : 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
27
28
29
30
31
32
33
34
35
Public Sub TestProcess(ByVal processName As String)
 
        On Error GoTo ErrHandler
 
         Dim oWMI
         Dim ret
         Dim sService
         Dim oWMIServices
         Dim oWMIService
         Dim oServices
         Dim oService
         Dim servicename
 
          Set oWMI = GetObject("winmgmts:")
          Set oServices = oWMI.InstancesOf("win32_process")
 
          For Each oService In oServices
 
                 servicename = LCase(Trim(CStr(oService.Name) & ""))
 
                 If servicename = processName Then
 
                    'retester le process jusqu'à ce qu'il soit inactif
 
                 End If
 
 
          Next
 
          Set oServices = Nothing
          Set oWMI = Nothing
 
ErrHandler:
  Err.Clear
End Sub
Quelqu'un aurait il une solution à me proposer ?

Merci d'avance