发新话题
打印

[转载]结束进程和重新启动的vbs脚本

[转载]结束进程和重新启动的vbs脚本

作者:stan1ie   文章来源:http://mochong.cnisc.com/

按照提示存为t.vbs文件,在cmd窗口中输入cscript t.vbs [参数]就可以了。
如果想移植到vb下,把wscript.echo替换成debug.pring或者其他的输出函数就可以了

'function:
' list all process or kill one of them
'parameter:
NameorPID process's name or pid
'return:
' true if kill one process, else false
Function KillProcess(NameorPID)
   Dim oWMI, oProcs, oProc, strSQL
   KillProcess = False
   strSQL = "SELECT * FROM Win32_Process"
   If NameOrPID <> "" Then
      If IsNumeric(NameOrPID) Then
        strSQL = strSQL & " WHERE Handle = &#39;" & NameorPID & "&#39;"
      Else
        strSQL = strSQL & " WHERE Name = &#39;" & NameorPID & "&#39;"
      End If
   End If
   Set oWMI = GetObject("winmgmts:\\.\root\cimv2")
   Set oProcs = oWMI.ExecQuery(strSQL)
   For Each oProc In oProcs
      If IsNumeric(NameOrPID) Then
        oProc.Terminate
        WScript.Echo  oProc.Name & "(" & oProc.Handle & ") was killed!"
        KillProcess = True
      Else
        WScript.Echo "Name: " & oProc.Name & vbTab & "PID: " & oProc.Handle & _
           vbCrLf & vbTab & "Path: " & oProc.ExecutablePath
      End If
   Next
   Set oProc = Nothing
   Set oProcs = Nothing
   Set oWMI = Nothing
End Function

&#39;function:
&#39; reboot or shutdown operating system
&#39;parameter:
&#39; RorS "r"=reboot, "s" or others="shutdown"
&#39;return:
&#39; none
Function Reboot(RorS)
   Dim oWMI, oSys, oOpSys
   Set oWMI = GetObject("winmgmts:{(shutdown)}!\\.\root\cimv2")
   Set oOpSys = oWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem")
   For Each oSys In oOpSys
      If Instr(LCase(RebootOrShut),"r") > 0 Then
        WScript.Echo  "Reboot..."
        oSys.Reboot
      Else
        WScript.Echo  "Shuting down..."
        oSys.Shutdown
      End If
   Next
   Set oOpSys = Nothing
   Set oSys = Nothing
   Set oWMI = Nothing
End Function
益友网吧联盟  http://www.96-7.com

TOP

发新话题