2016-08-04 1 views

Répondre

2

Ci-dessous l'exemple de procédure de script VB retour légende processus parent et id:

GetParentProcessInfo sCaption, sProcessId 

MsgBox "Parent Process Caption '" & sCaption & "'" & vbCrLf & "Parent Process Id '" & sProcessId & "'" 

Sub GetParentProcessInfo(sCaption, sProcessId) 
    With GetObject("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" & CreateObject("WScript.Shell").Exec("rundll32 kernel32,Sleep").ProcessId & "'") 
     With GetObject("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" & .ParentProcessId & "'") 
      With GetObject("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" & .ParentProcessId & "'") 
       sCaption = .Caption 
       sProcessId = .ProcessId 
      End With 
     End With 
     .Terminate 
    End With 
End Sub 
+0

Merci. Je suis un nouveau script vb. Je dois écrire un vbs qui tue tous les cmd.exe sauf celui dans lequel le script vb va s'exécuter. Voici le code que j'essayais. –

+0

Set WshShell = WScript.CreateObject ("WScript.Shell") Set a = WshShell.Exec (cmd/c "processus wmic obtenir parentprocessid, nom | trouver WMIC") x = a.StdOut.ReadLine Wscript.Echo x pid = droit (x, 4) Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process Où Name = 'cmd.exe' et ProcessID! = & abc") Pour chaque élément colProcesses \t \t item.terminate () Suivant –

+1

@bharathipriyaT s'il vous plaît ne pas publier ce comme les commentaires, mais ajouter tous ces détails dans votre demande en l'éditant. Décrivez comment fonctionne votre code, quel est le problème et quel est le comportement attendu. Ensuite, je peux suggérer du code. – omegastripes