岁月联盟 - 技术社区 - BBS.SYUE.COM's Archiver

猪猪 发表于 2007-2-11 14:53

结束进程和重新启动的vbs脚本

作者:海阔天空

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

[quote]'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 = '" & NameorPID & "'"
    Else
        strSQL = strSQL & " WHERE Name = '" & NameorPID & "'"
    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

'function:
' reboot or shutdown operating system
'parameter:
' RorS "r"=reboot, "s" or others="shutdown"
'return:
' 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[/quote]

Sk. 发表于 2007-8-29 22:49

额`? 不会用..

xiaogangccc 发表于 2007-9-4 19:22

这脚本不错
挺有用的!

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.