2015-09-24 1 views
1

J'ai utilisé le script ci-dessous plusieurs fois pour supprimer des processus dans un vbscript sans aucun problème.Processus vbscript-explorer restauré automatiquement après l'arrêt

Cette fois j'essaye de tuer explorer.exe. Le seul problème est après que j'utilise le script pour tuer explorer.exe dans les 2 secondes restaure processus de l'explorateur.

Je ne comprends pas? parce que si je tue manuellement explorer.exe avec le Gestionnaire des tâches, le processus est arrêté jusqu'à ce que je relance le processus. Alors, quel est le problème avec le script ci-dessous?

Option Explicit 
Dim objWMIService, objProcess, colProcess 
Dim strComputer, strProcessKill 
strComputer = "." 
strProcessKill = "'explorer.exe'" 

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

Set colProcess = objWMIService.ExecQuery _ 
("Select * from Win32_Process Where Name = " & strProcessKill) 
For Each objProcess in colProcess 
objProcess.Terminate() 
Next 

WScript.Quit 

Répondre

1

Vous pouvez essayer comme ceci:

Option Explicit 
Dim objWMIService, objProcess, colProcess 
Dim strComputer, strProcessKill 
strComputer = "." 
strProcessKill = "'explorer.exe'" 

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

Set colProcess = objWMIService.ExecQuery _ 
("Select * from Win32_Process Where Name = " & strProcessKill) 
For Each objProcess in colProcess 
    objProcess.Terminate(1) 
Next 

Ou comme cette façon:

Option Explicit 
Dim Process 
Process = "Explorer.exe" 
Call Kill(Process) 
'**************************************************** 
Sub Kill(Process) 
    Dim Ws,Command,Execution 
    Set Ws = CreateObject("Wscript.Shell") 
    Command = "cmd /c Taskkill /F /IM "& Process &"" 
    Execution = Ws.Run(Command,0,True) 
    Set Ws = Nothing 
End Sub 
'**************************************************** 
1

Une façon:

Set oCMD = CreateObject("WScript.Shell") 
oCMD.Run "taskkill /f /im explorer.exe",0,True