Board logo

标题: [文件操作] 批处理如何让指定程序运行指定时间后自动关闭? [打印本页]

作者: 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

大概写了个,没完善
  1. 'sssssssssssssssssssss
  2. WScript.Timeout = 90
  3. DayInterval = 3600
  4. WQLInterval = 3
  5. TargetProcessName = "calc.exe"
  6. Dim objwmi,Events,NewEvent
  7. TargetWQL="Select * From __InstanceOperationEvent Within " & WQLInterval & " Where TargetInstance ISA " &_
  8.           "'Win32_Process' AND TargetInstance.Name='" & TargetProcessName & "'"
  9. Set objwmi=GetObject("winmgmts:\\.\root\cimv2")
  10. Set Events=objwmi.ExecNotificationQuery(TargetWQL)
  11. count = 0
  12. stime = now
  13. ProcessChk = 0
  14. StartDates = Date
  15. Do
  16. Set NewEvent=Events.NextEvent
  17. Select Case NewEvent.Path_.Class
  18.     Case "__InstanceCreationEvent"
  19.         If (ProcessChk = 0) Then
  20.             If (count = 0) Then stime=now
  21.             count = count+1
  22.         Else
  23.             NewEvent.TargetInstance.Terminate
  24.         End If
  25.     Case "__InstanceDeletionEvent"
  26.         count=count-1
  27.         If (count <= 0) Then DayInterval=DayInterval-DateDiff("s",stime,now)
  28.     Case Else   'Case "__InstanceModificationEvent"
  29.         If DateDiff("s",stime,now) >= DayInterval Then
  30.             If (count = 0) Then count = count+1
  31.             NewEvent.TargetInstance.Terminate
  32.             ProcessChk = 1
  33.         End If
  34. End Select
  35. If (Date-StartDates) Then
  36.     count = 0
  37.     stime = now
  38.     ProcessChk = 0
  39.     StartDates = Date
  40. End If
  41. loop
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2