Red de conocimiento informático - Conocimiento de la instalación - Buscando un fragmento de código VBS: después de ejecutarlo, simplemente ingrese el valor pid de un programa para finalizarlo.

Buscando un fragmento de código VBS: después de ejecutarlo, simplemente ingrese el valor pid de un programa para finalizarlo.

' Para evitar la terminación accidental de los procesos del sistema, los procesos normales y necesarios del sistema se han ocultado en la lista de procesos

Dim WshShell, filespec, i, j, k, r, z

Establecer WshShell = WScript.CreateObject("WScript.Shell")

filespec = WshShell.ExpandEnvironmentStrings("WinDir")

Hacer

strComputer = "."

Establecer wbemServices = Getobject("winmgmts:\\" amp; strComputer)

Establecer wbemObjectSet = wbemServices.InstancesOf("Win32_Process")

all = ""

i = 0

ReDim ara(i), arb(i), arc(i)

Para cada wbemObject en wbemObjectSet

p>

ReDim Preservar ara(i), arb(i), arc(i)

ara(i) = wbemObject.ProcessID

arb( i) = wbemObject. Nombre

arc(i) = wbemObject.ExecutablePath

Si no es nulo(arc(i)) Entonces

k = LCase(arc) (i))

i = i 1

Seleccionar caso k

Caso LCase(filespec amp; "\explorer.exe") i = i - 1

Caso LCase(filespec y "\system32\cmd.exe") i = i - 1

Caso LCase(filespec y "\system32\conime.exe") i = i - 1

Caso LCase(filespec amp; "\system32\csrss.exe") i = i - 1

Caso LCase(filespec amp; "\system32\ctfmon. exe") i = i - 1

Caso LCase(filespec y "\system32\smss.exe") i = i - 1

Caso LCase(filespec y "\ system32\lsass.exe" ") i = i - 1

Caso LCase(filespec amp; "

\system32\winlogon.exe") i = i - 1

Caso LCase(filespec amp; "\system32\services.exe") i = i - 1

Caso LCase( filespec amp; "\system32\spoolsv.exe") i = i - 1

Caso LCase(filespec amp; "\system32\svchost.exe") i = i - 1

Caso LCase(filespec y "\system32\wdfmgr.exe") i = i - 1

Caso LCase(filespec y "\system32\webm\wmiprvse.exe") i = i - 1

Caso LCase(filespec y "\system32\cscript.exe") i = i - 1

Caso LCase(filespec y "\system32\wscript.exe") i = i - 1

Finalizar Seleccionar

Finalizar si

Siguiente

i = i - 1

Para j = 0 A i

todos = todos amp; ara(j) amp vbTab amp; arb(j) vbCrLf

Siguiente

all = all amp; vbCrLf amp; "Ingrese el ID del proceso que desea finalizar (R = Actualizar)"

z = InputBox(all, "Lista de procesos actuales que no están a nivel del sistema", "R")

Si IsNumeric(z) Entonces

Si z = 0, entonces salga de Do

WshShell.Run "taskkill /f /im " amp;z,0

z = "R"

end if

bucle

Pruebe el párrafo anterior