VBS 循環中導致CPU利用率過高的解決

 只需要在循環中加入SCript.Sleep 100,就可以了。

測試代碼:

  1. Option Explicit
  2. On Error Resume Next '測試中最好去掉,否則不能發現錯誤
  3. Dim Wsh,sProgramme,sRunTime,nTime
  4. sProgramme="test.bat"
  5. sRunTime=Mid(Time,4,5)
  6. nTime=Mid(Time,4,5)
  7. Msgbox nTime
  8. Do While True
  9. WScript.Sleep 1000 '循環中使用這句即可解決
  10. If nTime=sRunTime Then
  11. Set Wsh=WScript.CreateObject("WScript.Shell")
  12. wsh.Run "taskkill /f /im iexplore.exe",0,True
  13. Wsh.Run sProgramme,0,True
  14. Set Wsh=NoThing
  15. sRunTime=DateAdd("h",2,Time)
  16. sRunTime=Mid(sRunTime,4,5)
  17. Msgbox sRunTime
  18. Exit Do
  19. End If
  20. nTime=Mid(Time,4,5)
  21. WScript.Sleep 1000
  22. Loop

你可能感兴趣的:(VBS 循環中導致CPU利用率過高的解決)