Board logo

标题: 帮我改下这VBS脚本.谢谢了.已解决 [打印本页]

作者: hackhd     时间: 2008-4-1 23:47    标题: 帮我改下这VBS脚本.谢谢了.已解决

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

Set colProcessList = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = 'QQ.exe'")
原脚本这样

然后我想可以这样用。
如: if qq.exe=1 then msgbox "存在"

自己试了下没成功
if jc("qq.exe")=1 then msgbox "存在"
function jc(wr)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = '"&wr&"'")
end function

[ Last edited by hackhd on 2008-4-2 at 12:16 AM ]
作者: bbswind     时间: 2008-4-2 00:06
if jc("qq.exe")=1 then msgbox "存在"
function jc(wr)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = '"&wr&"'")
jc=colProcessList.count
end function
作者: HAT     时间: 2008-4-2 00:06
看错了,抱歉

[ Last edited by HAT on 2008-4-2 at 01:04 AM ]
作者: fastslz     时间: 2008-4-2 00:18

tasklist.exe|find /i "qq.exe"&&echo 存在

Set objWMI = Getobject("Winmgmts:")
Set Process=objWMI.ExecQuery("Select * From Win32_Process Where Name='QQ.exe'")
For Each objProcess In Process
    MsgBox "存在"
Next

Set objWMI = Getobject("Winmgmts:")
Set Process=objWMI.ExecQuery("Select * From Win32_Process Where Name='QQ.exe'")
For Each objProcess In Process
    Name = objProcess.Name
Next
If StrComp(Name,"QQ.exe",1) = 0 Then
    MsgBox "存在"
    Else
    MsgBox "不存在"
End If

作者: Climbing     时间: 2008-4-2 01:45
@ fastslz

我将你的第二段代码保存成一个vbs文件,在资源管理器中双击执行,为什么出现Windows脚本宿主错误?我对vbs不熟悉。

  Quote:
D:\work\dos>type test1.vbs
Set objWMI = Getobject("Winmgmts:")
Set Process=objWMI.ExecQuery("Select * From Win32_Process Where Name='cmd.exe'")
For Each objProcess In Process
    MsgBox "存在cmd.exe"
Next
D:\work\dos>cscript test1.vbs
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。

D:\work\dos\test1.vbs(3, 1) (null): 0x80041010


作者: Climbing     时间: 2008-4-2 02:30
我将脚本修改成类似下面的样子:
strComputer = "."

Set objWMI = Getobject("Winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
...
运行就正常了。