【已解决】窗口激活的问题 有图 求解
本帖最后由 superpangya 于 2010-9-10 14:58 编辑if not winactive (xxx) then winactivate(xxx)
winwaitactivate(xxx)
send(xxxx)
如果窗口没有激活,那么激活窗口。
等待窗口激活,发送XXX命令。
现在窗口始终处于非激活状态,后面的命令也发送不出去,请问是哪里出了问题?(用鼠标点击窗口,使激活, send继续。。)
图在#4
问题已经解决:
1种方法(#10)Run("C:\wodewyc\FramePkg.exe")
If NotWinActive('McAfee Agent','McAfee Agent 的安装已成功完成。') ThenWinActivate('McAfee Agent','McAfee Agent 的安装已成功完成。')
WinWaitActive('McAfee Agent','McAfee Agent 的安装已成功完成。')
ControlClick('McAfee Agent','McAfee Agent 的安装已成功完成。','Button1','left')2种方法(#17)Run("C:\wodewyc\FramePkg.exe")
While 1
Sleep(100)
If WinExists('McAfee Agent','McAfee Agent 的安装已成功完成。') Then
WinActivate('McAfee Agent','McAfee Agent 的安装已成功完成。')
Send('{enter}')
Exit
EndIf
WEnd{:face (88):} 感谢大家对小弟的帮助。谢谢了。 if not WinActive(xxx) then WinActivate(xxx)
别用错了。 不好意思,我的AU3是这么写的,是我打错了。
程序运行中,打开一个文件夹(处于激活),之后目标窗口弹出,且被激活(文件窗口标题栏由深蓝变为浅蓝色),但是到send处还是无法继续。关闭或最小化文件夹窗口后,程序继续运行。。。
哪里有错误呢? 一个利用多线程的例子
http://www.autoitx.com/thread-18182-1-1.html WinActive('Mcafee Agent','确定') 这句不对,看帮助
WinActive ( "窗口标题" [, "窗口文本"] )
应该这么写,
WinActive('Mcafee Agent','Mcafee Agent 的安装已成功完成。') LS应该是正解 根本不用IF就可以。。代码写错了 回复 6# lixiaolong
嗯,我知道应该写窗口文本,后面改成'Mcafee Agent 的安装已成功完成。' 问题依然存在。
弹出了目标窗口,但就是不发送“确定”。 必须把其它窗口都关掉。。才能执行。 可以试用一下Controlclick 本帖最后由 superpangya 于 2010-9-10 10:03 编辑
回复 10# tankwu
谢谢啊,,问题解决了,不过我还是想知道,用我的方法怎么解决问题。。 回复 5# lixiaolong
谢谢你,那个例子真棒! if not winactive (xxx) then winactivate(xxx)
winwaitactivate(xxx)
send(xxxx)
其中 winwaitactivate(xxx) 的使用应该确定窗口肯定会从不激活到激活状态的时候使用,
所以比较好的方法当然是直接发送消息到指定控件,而非等待激活后使用send 回复 13# onlonely
f not winactive (xxx) then winactivate(xxx)
send(xxxx)
是这样吗?试过了,还是不行,而且,send命令不会等待窗口。 本帖最后由 lixiaolong 于 2010-9-10 10:13 编辑
回复 9# superpangya
不需要WinActivate
看这个
Run("FramePkg.exe")
Sleep(10000)
If WinActive('McAfee Agent','McAfee Agent 的安装已成功完成。') Then
Send("{ENTER}")
EndIf
这个代码为什么不成功那?
因为 Sleep(10000) ,如果10秒后没有出现'McAfee Agent','McAfee Agent 的安装已成功完成。'的窗口就关闭了
你把 Sleep(10000) 改为更长时间就可以关闭 比如 Sleep(30000)
但这样浪费时间,这么写合理,利用循环监视窗口Run("FramePkg.exe")
While 1
Sleep(100)
If WinActive('McAfee Agent','McAfee Agent 的安装已成功完成。') Then
Send("{ENTER}")
Exit
EndIf
WEnd多看看帮助,完后理解,理解不了问问,我也是干学习AU3
什么东西都一样,先学习基本,把基本搞好你就是一流!
页:
[1]
2