boliang 发表于 2016-1-8 09:18:45

运行代码CPU使用率提高到百分之五六十,万能的坛友帮忙指点优化下呗,先谢谢啦!

#include <Date.au3>
#include <Timers.au3>
#include <GUIConstantsEx.au3>
#NoTrayIcon
Do
$Process = ProcessExists("AU3TOOL.exe")
$settime = 9
Global $iIdleTime = _Timer_GetIdleTime()
until $Process == 0 And Number(@HOUR) = Number($settime) And $iIdleTime = 10000
MsgBox(0,"test","ok")

kk_lee69 发表于 2016-1-8 09:26:37

$settime = 9
下面多個
sleep(1)

boliang 发表于 2016-1-8 10:25:11

回复 2# kk_lee69
@kk_lee69,验证OK,确实降下去了,谢谢呵!

haijie1223 发表于 2016-1-8 10:29:03

把变量定义放到DO外边,这里$settime = 9也不用放在do里面。

ddrs 发表于 2016-1-9 00:28:01

看不出下面有些什么东西......

樱花雪月 发表于 2016-1-9 14:09:23

请在适当的地方使用sleep

lin12458 发表于 2016-1-11 00:03:44

加个sleep()

boliang 发表于 2016-1-12 09:02:43

回复 4# haijie1223

嗯!学习了,谢谢版主!{:face (427):}

boliang 发表于 2016-1-12 09:04:45

感谢大家热心解答,来晚了,现在才回大家

boliang 发表于 2016-1-12 21:14:28

回复 4# haijie1223
Hi,版主,$settime这个变量可以这么定义吗?能不能定义在这个时间段去执行呢?谢谢!
$settime = (@HOUR >= "0" And @HOUR < "8" Or @HOUR >= "18")

sanfer8889 发表于 2016-1-12 21:51:24

循环得太快了,CPU吃不消

boliang 发表于 2016-1-12 22:02:42

回复 11# sanfer8889
您好!加个延时,CPU问题应该不大,原来是定时启动程序的,现在是想在一个时间段内启动,不知道有没好的思路,谢谢!
条件1:凌晨0点到早上8点以及晚上18点后可执行程序;
条件2:如果进程没有AU3TOOL.exe可执行程序;
条件3:如果"条件1"时间段系统处于休眠状态可执行程序;
以上3个条件均具备的话,那么系统就自动执行该程序;

boliang 发表于 2016-1-13 09:50:06

大家有没时间帮我看看呢

luren666 发表于 2016-1-13 19:08:38

本帖最后由 luren666 于 2016-1-13 19:12 编辑

你的条件写的有点乱,我看不懂到底什么时候该执行,什么时候不该执行。下面这个仅仅是0点到8点执行,至于您说的什么18点后具体“后”到什么时候不太清楚。还有如果系统处于休眠状态,那是没办法执行的,您想其它办法吧,貌似WINDOWS任务计划有定时唤配计算机的功能?While 1
        If @HOUR >= 12 And @HOUR < 20 Then ;;;0点到7点59分59秒
                If Not ProcessExists("AU3TOOL.exe") Then Run("AU3TOOL.exe")   ;;如果AU3TOOL.exe进程不存在,就执行AU3TOOL.exe
        EndIf
        Sleep(5000)
WEnd

boliang 发表于 2016-1-13 21:37:22

回复 14# luren666
任务计划是定时执行的哦,达不到想要的效果,就比如说要自动关机吧,首先条件是看进程是否存在AU3TOOL.exe,其次是看在01~08时间段和18~00时间段有没休眠30分钟,也就是如果进程不存在AU3TOOL.exe,而且是在01~08和18~00时间段内,休眠时间又达到了30分钟就自动关机,不知道这样描述的是否清楚,多谢啦!
页: [1] 2
查看完整版本: 运行代码CPU使用率提高到百分之五六十,万能的坛友帮忙指点优化下呗,先谢谢啦!