找回密码
 加入
搜索
楼主: superpangya

[AU3基础] 【已解决】窗口激活的问题 有图 求解

 火.. [复制链接]
 楼主| 发表于 2010-9-10 10:29:41 | 显示全部楼层
本帖最后由 superpangya 于 2010-9-10 10:39 编辑

回复 15# lixiaolong
Run("C:\wodewyc\FramePkg.exe")


While 1

        Sleep(100)

                If WinActive('McAfee Agent','McAfee Agent 的安装已成功完成。') Then

                        Send("{ENTER}")

                        Exit

        EndIf

WEnd
如果目标窗口未激活,会一直循环下去?
刚才试了一下,在有弹出窗口的情况下,程序无法继续(激活目标窗口并send),关闭弹出窗口,程序反而结束退出了,而且未发送“确定”。

评分

参与人数 1金钱 +10 收起 理由
lixiaolong + 10 加油!

查看全部评分

发表于 2010-9-10 11:20:56 | 显示全部楼层
回复 16# superpangya


如果目标窗口未激活,会一直循环下去

如果实行下代码后打开其他窗口,If WinActive('McAfee Agent', 'McAfee Agent 的安装已成功完成。')这句就不好使了
因为窗口是未激活状态,你手动点击那个窗口,让它激活,程序会继续下去
Run("C:\wodewyc\FramePkg.exe")

While 1

        Sleep(100)

        If WinActive('McAfee Agent', 'McAfee Agent 的安装已成功完成。') Then

                WinActivate('McAfee Agent', 'McAfee Agent 的安装已成功完成。')

                Send("{ENTER}")

                Exit

        EndIf

WEnd
那么换个函数吧,使用WinExists
If WinExists('McAfee Agent', 'McAfee Agent 的安装已成功完成。') Then
这个代码主要是存在'McAfee Agent', 'McAfee Agent 的安装已成功完成。'的窗口就让它激活,
不管现在是激活未激活状态
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金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-9-10 14:54:38 | 显示全部楼层
回复 17# lixiaolong

嗯,可以了。谢谢啊。。
发表于 2010-9-11 14:19:15 | 显示全部楼层
嗯。学习了。!!
发表于 2010-9-12 09:54:11 | 显示全部楼层
好贴好贴好贴好贴
发表于 2010-9-12 14:05:10 | 显示全部楼层
关于这个,在查看帮助文件后,我得出如下结论。这个脚本是针对金山词霸写的。后边的部分,没有总标题了。也没有默认激活,怎么办?呵呵,编译成exe后,关闭其他的目录和ie等程序窗口。这个就可以被激活了。当然也就可以运行了。大家可以测试下,好用不?
Run (@ScriptDir& "\powerwordpes.34922.0.exe")

ToolTip("正在为你进行powerwordpes.31053.0 安装,请不要移动鼠标和键盘!"&@CR&"F11可以终止安装脚本!", @DesktopWidth - 460, @DesktopHeight - 120)
WinWait ( "金山词霸2010 Beta版  安装","金山词霸2010 Beta版" )
WinActivate( "金山词霸2010 Beta版  安装","金山词霸2010 Beta版" )
send("!N")

WinWait ( "金山词霸2010 Beta版  安装","许可证协议" )
WinActivate( "金山词霸2010 Beta版  安装","许可证协议" )
send("!I")

WinWait ( "金山词霸2010 Beta版  安装","选择安装位置" )
WinActivate( "金山词霸2010 Beta版  安装","选择安装位置" )
ControlSetText("金山词霸2010 Beta版  安装","选择安装位置","Edit1","C:\Program Files\Kingsoft\PowerWord PE")
send("!I")

WinWait ( "金山词霸2010 Beta版  安装","安装完成" )
WinActivate( "金山词霸2010 Beta版  安装","安装完成" )
send("!N")
Sleep(4000);只是为了有些脚本会打开ie,而加入了下面5行。如需要可以取消前面的分号。以便代码能收效。
$PID = ProcessExists("iexplore.exe")
If $PID Then ProcessClose($PID)
Sleep(1000)

WinWait ( "[active]", "全真情景的实用句库,包含:" )
WinActivate( "[active]","全真情景的实用句库,包含:" )
send("!N")

WinWait ("[active]","键盘轻松唤出或隐藏写作助手:" )
WinActivate("[active]","键盘轻松唤出或隐藏写作助手:" )
send("!N")

WinWait ("[active]","屏幕取词划译设置:" )
WinActivate("[active]","屏幕取词划译设置:" )
MouseClick ( "left",33, 260, 1 )
send("!N")

WinWait ("[active]","汉语功能" )
WinActivate("[active]","汉语功能" )
send("!N")

WinWait ("[active]","1.  免费下载本地的专业独立词典包,优" )
WinActivate("[active]","1.  免费下载本地的专业独立词典包,优" )
send("!N")

WinWait ("[active]","参与用户体验改善计划" )
WinActivate("[active]","参与用户体验改善计划" )
MouseClick ( "left",38, 247, 1 )
MouseClick ( "left",38, 268, 1 )
send("!F")
发表于 2010-9-14 17:33:19 | 显示全部楼层
ygs6e4xys4xe6ysx4y6s6y

评分

参与人数 1金钱 -20 贡献 -1 收起 理由
afan -20 -1

查看全部评分

发表于 2010-9-14 19:09:02 | 显示全部楼层
原来是这样,明白了!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-3 13:58 , Processed in 0.083700 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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