i

Capturer le PID d'un processus lors de son lancement


source : https://stackoverflow.com/questions/1807794/how-to-capture-the-pid-of-a-process-when-launching-it-in-dos


' Here's an example creating notepad, then terminating it using its pid

' source https://stackoverflow.com/questions/1807794/how-to-capture-the-pid-of-a-process-when-launching-it-in-dos

' Save as myscript.vbs and on command line

' c:\test> cscript /nologo myscript.vbs


strComputer = "."

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set objStartup = objWMIService.Get("Win32_ProcessStartup")

Set objConfig = objStartup.SpawnInstance_

Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")

errReturn = objProcess.Create("notepad.exe", null, objConfig, PID)

If errReturn = 0 Then

    WScript.Echo "Process ID is: " & PID

End If


WScript.Echo "Ready to kill process: " & PID & "? [Y|y]"

Do While Not WScript.StdIn.AtEndOfLine

   strInput = strInput & WScript.StdIn.Read(1)

Loop

If LCase(strInput) = "y" Then

    WScript.Echo "Select * from Win32_Process Where ProcessId = '" & PID & "'"

    Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where ProcessId = '" & PID & "'")

    For Each objProcess in colProcessList

        objProcess.Terminate()

    Next

End If


Autres scripts (DOS)