dans un script vb, je veux attribuer une variable avec l'ID de processus du cmd.exe dans lequel le vb le script est en cours d'exécution. Y a-t-il une commande?Dans un vbscript, comment puis-je obtenir l'ID de processus du cmd.exe dans lequel le script vb s'exécute
Répondre
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
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. –
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 –
@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
[Cette réponse] (http://stackoverflow.com/a/34321609/2165759) devrait aider. – omegastripes
Bienvenue dans Stack Overflow! Montre du code pour voir ce que tu as essayé jusqu'ici. –