Voici un bout de monde code : il est supposé tester la présence d'un processus et le lancer s'il n'existe pas ou le tuer s'il existe.
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
 
  Else If program_Flag=3 Then
    Tableau=split(program_full_name,"\")
    Etat_du_processus = FALSE
    For Each Process In GetObject("winmgmts:").InstancesOf("Win32_process")
      If UCase(Process.Name) = UCase(Tableau(UBound(Tableau))) Then
        Etat_du_processus = TRUE
        Exit For
      End If
    Next
    If Etat_du_processus = TRUE Then
      Tableau=split(program_full_name,"\")
      StrComputer = "."
      Set objet_WMI_service = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & StrComputer & "\root\cimv2")
      Set objet_liste_processus = objet_WMI_service.ExecQuery ("Select * from Win32_Process Where Name = '" & Tableau(UBound(Tableau)) & "'")
      For Each objet_processus In objet_liste_processus
        objet_processus.Terminate()
      Next
    Else
      objet_shell.Run program_full_name & chr(32) & program_arguments, 1, TRUE
    End If
 
  End If
Question stupide : A quoi sert StrComputer ?

Je l'utilise parce que tout le monde l'utilise, mais écrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
fonctionne aussi pourtant...

Si quelqu'un peut m'expliquer l'utilité d'utiliser une variable = "."