如何快速屏蔽窗口?or批量关闭窗口?
一个软件可以扫描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 编辑 ] 代码发上来大家才有可能帮你去优级化.
不是吧....
代码帖出来了,请高手过目...[ 本帖最后由 wangwen916 于 2009-1-19 18:10 编辑 ] 不是关闭窗口慢,而是循环当中循环再循环无法响应过来.你应该将每个循环拆分开来,使用AdlibEnable去执行,让函数的返回值去决定该做什么. AdlibEnable不可否认是个好东西!但楼上意见不敢苟同,因为我把弹出窗口关闭行注释掉后,能很快运行找到地址,9速度非常快).但是出现了一大堆的ERR提示框.
所以可以肯定是
;WinKill("","Read I2C err!") ;关闭弹出窗口
占用了时间.
我现在希望能把这些一样的窗口关闭.
或者根本不弹出,原来的EXE(C++)有MessageBoxA项目,我想修改,但是没有成功... 解决方法...最后才去关闭那个窗口,中间添加一个窗口弹出次数,以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
目前我就这个方法. 既然你知道AdlibEnable是个好东东,那么你就可以获取WinKill需要的时间了 :face (29): ,谢谢关注...
页:
[1]