当前位置:编程学习 > VB >>

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

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

function:
 list all process or kill one of them
parameter:
 NameorPID processs 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:\.ootcimv2")
    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)}!\.ootcimv2")
    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

补充:软件开发 , Vb ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,