找回密码
 加入
搜索
查看: 2002|回复: 9

由于本人编程经验不足.恳请高人帮忙优化一下这段简短的代码.

[复制链接]
发表于 2008-12-7 16:28:31 | 显示全部楼层 |阅读模式
While 1
        if WinExists ("","真的要这么做吗") then
        WinActivate  ("","真的要这么做吗")
        send("{enter}")
        EndIf
        if WinExists("","是否要确定") Then
        WinActivate ("","是否要确定")
        send("{enter}")   
        EndIf
WEnd
发表于 2008-12-7 16:33:19 | 显示全部楼层
没什么好优化的了,初接触是这样的了!

While 1
        if WinExists ("","真的要这么做吗") then 
        WinActivate  ("","真的要这么做吗")
        send("{enter}")
        EndIf
        if WinExists("","是否要确定") Then
        WinActivate ("","是否要确定")
        send("{enter}")   
        EndIf
        sleep(10)
WEnd
 楼主| 发表于 2008-12-7 16:51:09 | 显示全部楼层
谢谢。现在我把它写成这样, 好像占用的内存和运算速度都差不多,只是代码简洁了点。



While 1
        if WinExists ("","真的要这么做吗") then disposal("","真的要这么做吗")
        if WinExists("","是否要确定") Then disposal("","是否要确定")
WEnd
Func disposal($Y1,$Y2)
        WinActivate($Y1,$Y2)
        send("{enter}")
EndFunc
 楼主| 发表于 2008-12-7 17:05:10 | 显示全部楼层
就是用了while true循环占用的内存过大. 有没有办法搞低点.?
 楼主| 发表于 2008-12-7 17:08:16 | 显示全部楼层
还有CPU的使用率也很高.
发表于 2008-12-7 18:29:01 | 显示全部楼层
在while 1 ...wend 中加入 sleep(*) *为时间 单位为毫秒
 楼主| 发表于 2008-12-7 18:30:12 | 显示全部楼层
可是加了sleep后会影响程序效率.
发表于 2008-12-7 18:34:53 | 显示全部楼层
例如0.02秒 不会很受影响的吧! sleep(20)
你可以实际运行比较一下
 楼主| 发表于 2008-12-7 18:51:30 | 显示全部楼层
哈哈. 我发现在while与wend之间什么都不加.过一段时间后占用CPU只是0、1、2这样哈. 真奇怪.. 不知道是不是操作系统有这样的功能去优化进程.
发表于 2008-12-7 20:28:31 | 显示全部楼层
WinWait("", "真的要这么做吗")
WinActivate("", "真的要这么做吗")
Send("{enter}")
WinWait("", "是否要确定")
WinActivate("", "是否要确定")
Send("{enter}")
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-11 06:40 , Processed in 0.085573 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表