找回密码
 加入
搜索
查看: 1968|回复: 7

如何快速屏蔽窗口?or批量关闭窗口?

[复制链接]
发表于 2009-1-19 16:41:52 | 显示全部楼层 |阅读模式
一个软件可以扫描IIC读的地址.(即判断ADDR到底为多少)
ADDR的值为0000-FFFF
VALUE为0000-FFFF
设置ADDR为:"0000", READ -->(VALUE大于0否?)弹出窗口--->关闭窗口-->ADDR+1-->重新设置ADDR

问题就是关闭窗口时需要时间太久.我用
WinKill("","Read I2C err!")       
Winclose("","Read I2C err!")       
我估计上面两个是要等窗口创建成功才能去关闭.
扫65535(0XFFFF)需要很长时间,还有几个口要调整就是好几个65535了,半天也扫不完.

2.或者我不关闭这个弹出窗口,速度如飞,但是到最后可是N个ERR窗口了,是否可以用什么批量把所有的ERR窗口全关了呢?
谢谢!
删除


[ 本帖最后由 wangwen916 于 2009-1-20 11:07 编辑 ]
发表于 2009-1-19 16:56:12 | 显示全部楼层
代码发上来大家才有可能帮你去优级化.
 楼主| 发表于 2009-1-19 17:09:12 | 显示全部楼层

不是吧....

代码帖出来了,请高手过目...

[ 本帖最后由 wangwen916 于 2009-1-19 18:10 编辑 ]
发表于 2009-1-19 18:39:35 | 显示全部楼层
不是关闭窗口慢,而是循环当中循环再循环无法响应过来.你应该将每个循环拆分开来,使用AdlibEnable去执行,让函数的返回值去决定该做什么.
 楼主| 发表于 2009-1-19 20:31:01 | 显示全部楼层
AdlibEnable不可否认是个好东西!但楼上意见不敢苟同,因为我把弹出窗口关闭行注释掉后,能很快运行找到地址,9速度非常快).但是出现了一大堆的ERR提示框.
所以可以肯定是
;WinKill("","Read I2C err!")                                ;关闭弹出窗口
占用了时间.
我现在希望能把这些一样的窗口关闭.
或者根本不弹出,原来的EXE(C++)有MessageBoxA项目,我想修改,但是没有成功...
 楼主| 发表于 2009-1-20 11:06:55 | 显示全部楼层
解决方法...最后才去关闭那个窗口,中间添加一个窗口弹出次数,以1确定要关闭多少次.

$num=$num+1
;以上插到内循环中,每READ一次,加一次
;以下到文件结束...
WinActivate("","Read I2C err!")
While 1
        if $num=0 Then
                ExitLoop
        EndIf
        WinKill("","Read I2C err!")        
        $num=$num-1
WEnd

目前我就这个方法.
发表于 2009-1-20 11:17:54 | 显示全部楼层
既然你知道AdlibEnable是个好东东,那么你就可以获取WinKill需要的时间了
 楼主| 发表于 2009-2-5 01:53:08 | 显示全部楼层
,谢谢关注...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 17:08 , Processed in 0.073445 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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