您的位置:首页 > 编程语言 > VB

可执行程序随某程序加载而加载,随其退出而退出功能的 VBS 代码

2008-11-09 13:26 423 查看
'==========================================================================
' 可执行程序随某程序加载而加载,随其退出而退出功能的 VBS 代码
'
' proname1="Ni.exe" '需要监测的服务进程的名称
' proname2="calc.exe" '附加进程
'
' VBS 检测进程proname1是否存在,如果存在就启动proname2 进程。
' ,如果不存在就终止proname2 进程。
'
'==========================================================================

option Explicit
dim wmi,proc,procs1,procs2,proname1,proname2,proname1_Y,proname2_Y,WshShell

Do
proname1="Ni.exe" '需要监测的服务进程的名称
proname2="calc.exe" '附加进程

set wmi=getobject("winmgmts:{impersonationlevel=impersonate}!//./root/cimv2")
set procs1=wmi.execquery("select * from win32_process ")

proname1_Y="false"
for each proc in procs1
if strcomp(proc.name,proname1)=0 then
proname1_Y="true"
exit for
else
proname1_Y="false"
end if
next

proname2_Y="false"
for each proc in procs1
if strcomp(proc.name,proname2)=0 then
proname2_Y="true"
exit for
else
proname2_Y="false"
end if
next

'wscript.echo proname1_Y,proname2_Y

if proname1_Y="true" and proname2_Y="false" then
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run ("C:/windows/system32/calc.exe")
end if

if proname1_Y="false" and proname2_Y="true" then
set procs2=wmi.execquery("select * from win32_process where name='calc.exe'")
for each proc in procs2
proc.terminate()
next
end if

set wmi=nothing
loop
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐