Bonjour,
Dans un de mes programmes je récupère une liste de processus sur un PC (distant ou local, peut importe) et je kill certain de ces processus grâce au code suivant :
Mon problème se trouve au niveau de la requête exécuté par ExecQuery. Telle qu'elle est écrite cela fonctionne. Mais si je mais cette requête à la place :
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 index = 0 Do Until objTextFile.AtEndOfStream Set objWMIService = GetObject("winmgmts: {impersonationLevel=impersonate}!\\ " & ADRESSE_IP_PC_DISTANT & "\root\cimv2") Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process") For Each objProcess in colProcess If objProcess.ParentProcessID = PID_REFERANT Then .......... index = index + 1 End If Next Set objWMIService = nothing Set colprocess = nothing Loop
Alors je ne peut plus parcourir mon objet colProcess par une boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = notepad.exe")Cela plante au niveau de la boucle, et cela quelque soit le code se trouvant dans la boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 For each object in colProcess ..... Next
Est ce que quelqu'un aurait une idee ?
Merci d'avance pour vos réponses.
Partager