查看: 12193|回复: 22
[AU3基础]
【已解决】窗口激活的问题 有图 求解
火..
[复制链接]
superpangya
superpangya
当前离线
积分140
电梯直达
1#
发表于 2010-9-9 21:15:35
|
只看该作者
|倒序浏览
|阅读模式
本帖最后由 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 Not WinActive('McAfee Agent','McAfee Agent 的安装已成功完成。') Then WinActivate('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 感谢大家对小弟的帮助。谢谢了。
窗口
评分
参与人数 1金钱 +10
收起
理由
afan
+ 10
感谢主动将修改帖子分类为[已解决],请继续 ...
查看全部评分
收藏0
淘帖0
相关帖子
• 两个子窗口ListView右键菜单的问题
• 窗口焦点问题,请各位大大帮忙~~~~
• _IEAttach能监控多个窗口并返回值吗?
• 【已解决】无标题窗口移动问题
• 怎么使子窗口保持激活状态 [已解决]
• 怎么使“关于”窗口始终保持激活状态,直到关闭?[已解决]
• 窗口动画效果有拖影现象,求助(有例子和截图)[已解决]
• 这种非正常窗口怎么激活 ? SoS !
• 请教个窗口依附问题..
• 请教个ie网页消息窗口问题
回复
举报
republican
republican
当前离线
积分720
2#
发表于 2010-9-9 21:17:36
|
只看该作者
if not WinActive(xxx) then WinActivate(xxx)
别用错了。
评分
参与人数 1金钱 +15
收起
理由
afan
+ 15
查看全部评分
回复
举报
superpangya
superpangya
当前离线
积分140
3#
楼主|
发表于 2010-9-9 21:40:21
|
只看该作者
不好意思,我的AU3是这么写的,是我打错了。
程序运行中,打开一个文件夹(处于激活),之后目标窗口弹出,且被激活(文件窗口标题栏由深蓝变为浅蓝色),但是到send处还是无法继续。 关闭或最小化文件夹窗口后,程序继续运行。。。
回复
举报
superpangya
superpangya
当前离线
积分140
4#
楼主|
发表于 2010-9-9 21:48:05
|
只看该作者
哪里有错误呢?
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入
×
回复
举报
lixiaolong
lixiaolong
当前离线
积分2133
5#
发表于 2010-9-9 23:43:32
|
只看该作者
一个利用多线程的例子
http://www.autoitx.com/thread-18182-1-1.html
回复
举报
lixiaolong
lixiaolong
当前离线
积分2133
6#
发表于 2010-9-9 23:50:56
|
只看该作者
WinActive('Mcafee Agent','确定') 这句不对,看帮助
WinActive ( "窗口标题" [, "窗口文本"] )
应该这么写,
WinActive('Mcafee Agent','Mcafee Agent 的安装已成功完成。')
回复
举报
tankwu
tankwu
当前离线
积分53
7#
发表于 2010-9-10 00:44:08
|
只看该作者
LS应该是正解
回复
举报
qq54222717
qq54222717
当前离线
积分33
8#
发表于 2010-9-10 08:08:53
|
只看该作者
根本不用IF就可以。。代码写错了
回复
举报
superpangya
superpangya
当前离线
积分140
9#
楼主|
发表于 2010-9-10 09:05:44
|
只看该作者
回复 6# lixiaolong
嗯,我知道应该写窗口文本,后面改成'Mcafee Agent 的安装已成功完成。' 问题依然存在。
弹出了目标窗口,但就是不发送“确定”。 必须把其它窗口都关掉。。才能执行。
回复
举报
tankwu
tankwu
当前离线
积分53
10#
发表于 2010-9-10 09:18:45
|
只看该作者
可以试用一下Controlclick
回复
举报
superpangya
superpangya
当前离线
积分140
11#
楼主|
发表于 2010-9-10 09:33:20
|
只看该作者
本帖最后由 superpangya 于 2010-9-10 10:03 编辑
回复 10# tankwu
谢谢啊,,问题解决了,不过我还是想知道,用我的方法怎么解决问题。。
回复
举报
6678720
6678720
当前离线
积分138
12#
发表于 2010-9-10 09:38:37
|
只看该作者
回复 5# lixiaolong
谢谢你,那个例子真棒!
回复
举报
onlonely
onlonely
当前离线
积分136
13#
发表于 2010-9-10 09:55:15
|
只看该作者
if not winactive (xxx) then winactivate(xxx)
winwaitactivate(xxx)
send(xxxx)
其中 winwaitactivate(xxx) 的使用应该确定窗口肯定会从不激活到激活状态的时候使用,
所以比较好的方法当然是直接发送消息到指定控件,而非等待激活后使用send
回复
举报
superpangya
superpangya
当前离线
积分140
14#
楼主|
发表于 2010-9-10 10:03:04
|
只看该作者
回复 13# onlonely
f not winactive (xxx) then winactivate(xxx)
send(xxxx)
是这样吗? 试过了,还是不行,而且,send命令不会等待窗口。
回复
举报
lixiaolong
lixiaolong
当前离线
积分2133
15#
发表于 2010-9-10 10:04:03
|
只看该作者
本帖最后由 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
什么东西都一样,先学习基本,把基本搞好你就是一流!
回复
举报