vbs,系统后台持续检测一个进程是否存在,如:qq.exe。如果存在,倒计时X秒将其关闭,如果不存 10
vbs,系统后台持续检测一个进程是否存在,如:qq.exe。如果存在,倒计时X秒将其关闭,如果不存在,继续后台检测。检测时间间隔可设置。【原创加分,分数你留言50以内】可...
vbs,系统后台持续检测一个进程是否存在,如:qq.exe。如果存在,倒计时X秒将其关闭,如果不存在,继续后台检测。检测时间间隔可设置。【原创加分,分数你留言 50以内】
可选:win7禁用程序,不能是组策略,不能是安全选项卡,打开被禁的程序提示可以自定义。《30分》 展开
可选:win7禁用程序,不能是组策略,不能是安全选项卡,打开被禁的程序提示可以自定义。《30分》 展开
3个回答
展开全部
试试,我是在Win7下调试。
Const INTERVA = 5 '检测间隔
dim ps,ps_str
Set objShell = createobject("wscript.shell")
REM 解决CMD黑色闪运行
REM 参考http://demon.tw/programming/vbs-run-and-exec.html?replytocom=1928
host = WScript.FullName
If LCase(Right(host, 11)) = "wscript.exe" Then
objShell.run "cscript """ & WScript.ScriptFullName & chr(34), 0
WScript.Quit
End If
REM -----------------------------------------------------------------------
do while true
Set ps = objShell.Exec("tasklist")
ps_str = ps.Stdout.ReadAll
'msgbox ps_str
if find_yn(ps_str) then
objShell.Popup "5秒后将关闭 QQ !", 5, "Close QQ"
Set ps = objShell.Exec("taskkill /F /IM QQ.exe /T") '测试程序
end if
wscript.sleep 1000 * INTERVA '检测间隔
loop
set ps = nothing
set objShell = nothing
Function find_yn(str_s) '查找进程是否存在,不存在返回0
Dim re,ms,m
find_yn = 0
set re = New RegExp
re.Global = True
re.MultiLine = True
're.Pattern = "^(QQa|QQb|QQ).exe" '可以检测查看多个进程
re.Pattern = "^QQ.exe" '测试查找进程
set ms = re.Execute(str_s)
For Each m In ms
msgbox m
find_yn = find_yn + 1
Next
End Function
展开全部
把下面的程序存为psmonitor_kill.vbs:
ps=inputbox("请输入您要监控的程序的完整名称(文件名.扩展名):")
'ps="notepad.exe"
Do
K = 0
set ws=createobject("wscript.shell")
set y=getobject("winmgmts:\\.\root\cimv2")
set ws=createobject("wscript.shell")
set x=y.execquery("select * from win32_process where name='"+ps+"'")
for each i in x
K = 1
next
IF K = 1 THEN
'msgbox "发现Notepad.exe运行",0,"提示"
Set oshell = WScript.CreateObject ("WSCript.shell")
oshell.run "taskkill /IM "+ps,0,TURE
END IF
wscript.sleep 30000
Loop
如果您不喜欢交互式输入被检查的程序名,那就把第1句屏蔽了,用第2句写死的方式。
另外,倒数第2句设定时间间隔,目前是30秒。
ps=inputbox("请输入您要监控的程序的完整名称(文件名.扩展名):")
'ps="notepad.exe"
Do
K = 0
set ws=createobject("wscript.shell")
set y=getobject("winmgmts:\\.\root\cimv2")
set ws=createobject("wscript.shell")
set x=y.execquery("select * from win32_process where name='"+ps+"'")
for each i in x
K = 1
next
IF K = 1 THEN
'msgbox "发现Notepad.exe运行",0,"提示"
Set oshell = WScript.CreateObject ("WSCript.shell")
oshell.run "taskkill /IM "+ps,0,TURE
END IF
wscript.sleep 30000
Loop
如果您不喜欢交互式输入被检查的程序名,那就把第1句屏蔽了,用第2句写死的方式。
另外,倒数第2句设定时间间隔,目前是30秒。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
win7禁用程序,不能是组策略,不能是安全选项卡~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询