标题: [文件操作] 批处理如何让指定程序运行指定时间后自动关闭? [打印本页]
作者: xntfs 时间: 2009-5-4 18:14 标题: 批处理如何让指定程序运行指定时间后自动关闭?
说白了就是控制自己上Q的时间,希望可以让自己的QQ运行一个小时后自动关闭。
请问用批处理可以实现吗?谢谢!
(下面的如果不可以实现就算了)
如果可以,那么,当QQ运行半个小时后手动关闭了,又运行,是否可以在半小时后自动关闭呢?也就是说,今天你只有一个小时上Q。
作者: everest79 时间: 2009-5-4 21:26
脚本可以实现,批处理就是实现也很耗资源
作者: 神羅 时间: 2009-5-5 19:25
用at命令弄个计划任务吧。
作者: Batcher 时间: 2009-5-5 19:41 标题: 回复 3楼 的帖子
计划任务怎么实现楼主的需求?能说说详细思路吗?
作者: 神羅 时间: 2009-5-5 20:08
光楼主的上面的要求的思路是start qq程序
获取当前时间。在小时上加一
用at命令 让taskkill一小时后运行来关闭qq进程。
作者: everest79 时间: 2009-5-7 02:06
大概写了个,没完善- 'sssssssssssssssssssss
- WScript.Timeout = 90
- DayInterval = 3600
- WQLInterval = 3
- TargetProcessName = "calc.exe"
-
-
- Dim objwmi,Events,NewEvent
- TargetWQL="Select * From __InstanceOperationEvent Within " & WQLInterval & " Where TargetInstance ISA " &_
- "'Win32_Process' AND TargetInstance.Name='" & TargetProcessName & "'"
- Set objwmi=GetObject("winmgmts:\\.\root\cimv2")
- Set Events=objwmi.ExecNotificationQuery(TargetWQL)
-
-
- count = 0
- stime = now
- ProcessChk = 0
- StartDates = Date
-
-
- Do
-
- Set NewEvent=Events.NextEvent
-
- Select Case NewEvent.Path_.Class
- Case "__InstanceCreationEvent"
- If (ProcessChk = 0) Then
- If (count = 0) Then stime=now
- count = count+1
- Else
- NewEvent.TargetInstance.Terminate
- End If
- Case "__InstanceDeletionEvent"
- count=count-1
- If (count <= 0) Then DayInterval=DayInterval-DateDiff("s",stime,now)
- Case Else 'Case "__InstanceModificationEvent"
- If DateDiff("s",stime,now) >= DayInterval Then
- If (count = 0) Then count = count+1
- NewEvent.TargetInstance.Terminate
- ProcessChk = 1
- End If
- End Select
-
- If (Date-StartDates) Then
- count = 0
- stime = now
- ProcessChk = 0
- StartDates = Date
- End If
-
- loop
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |