找回密码
 加入
搜索
查看: 5806|回复: 14

[AU3基础] [已解决]关于无法获取控件ID时的问题

  [复制链接]
发表于 2012-4-6 15:34:31 | 显示全部楼层 |阅读模式
本帖最后由 fuinei 于 2012-4-9 12:20 编辑

各位好,上周我在测试自动配置outlook数据文件时遇到了创建数据文件窗口中的“确定”按钮无法控件ID,目前使用模拟按键方法完成的,代码如下:
WinWait("[CLASS:bosa_sdm_Mso96]")
WinActivate("[CLASS:bosa_sdm_Mso96]")
ControlSetText("[CLASS:bosa_sdm_Mso96]","","RichEdit20W2","c:\email")
Send("{ENTER}")
WinWait("[CLASS:bosa_sdm_Mso96]")
WinActivate("[CLASS:bosa_sdm_Mso96]")
ControlSetText("[CLASS:bosa_sdm_Mso96]","","RichEdit20W2","abc")
Send("{ENTER}")
测试的过程有偶尔会出现无法完成配置的情况,参考论坛中的其它贴子曾尝试使用鼠标点击的方法完成
Opt("MouseCoordMode", 0)
WinWait("[CLASS:bosa_sdm_Mso96]")
WinActivate("[CLASS:bosa_sdm_Mso96]")
ControlSetText("[CLASS:bosa_sdm_Mso96]","","RichEdit20W2","c:\email")
$pos = WinGetPos("[CLASS:bosa_sdm_Mso96]")
MouseClick("left",$pos[0]+540,$pos[1]+240)
WinWait("[CLASS:bosa_sdm_Mso96]")
WinActivate("[CLASS:bosa_sdm_Mso96]")
ControlSetText("[CLASS:bosa_sdm_Mso96]","","RichEdit20W2","abc")
$pos = WinGetPos("[CLASS:bosa_sdm_Mso96]")
MouseClick("left",$pos[0]+540,$pos[1]+240)
但感觉效果还不如模拟按钮,上面的两种方法都可能操作失败,请问各位有没有其它准确率更好的方法呢?
另外,请问对于鼠标点击时的获取窗口的相对位置有没有什么比较好的工具?AU3info中的鼠标信息获取的信息是屏幕的绝对位置

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-4-6 20:39:45 | 显示全部楼层
这个窗口从那里打开,?
发表于 2012-4-6 21:20:53 | 显示全部楼层
就outlook窗口的项目栏的打开数据文件,效果和FileOpenDialog一样
发表于 2012-4-6 21:58:59 | 显示全部楼层
可能我这版本太低的!没看到这个界面..
 楼主| 发表于 2012-4-6 22:51:09 | 显示全部楼层
这是安装outlook2003后添加个人数据文件时的窗口
发表于 2012-4-7 10:13:31 | 显示全部楼层
ControlSend('[class:bosa_sdm_Mso96]','','','{enter}')
直接向窗口发送回车键就行了.
发表于 2012-4-7 10:32:23 | 显示全部楼层
本帖最后由 manlty 于 2012-4-7 10:33 编辑

不可能的,这个对话框是windows的标准对话框,“确定”按钮肯定有ID的,你搞错了吧,应该是在“控件”选项里看该按钮的ID信息
发表于 2012-4-7 10:45:40 | 显示全部楼层
不知道楼主第一段代码为什么要跑两遍,只是发送的个人文件夹地址不同?
还有在为RichEdit20W2发送完地址,焦点在RichEdit20W2,你试着send两个TAB试试
 楼主| 发表于 2012-4-7 11:25:37 | 显示全部楼层
回复 6# 星雨朝霞

这个方法应该会比我原来直接使用send的方法好,今天用的PC不具备测试环境,周一上班后测试一下,谢谢指导!
 楼主| 发表于 2012-4-7 11:27:03 | 显示全部楼层
回复 7# manlty

这个窗口确实没有控件ID,在配置Outlook 2003时还有一个确定姓名的“OK”按钮也是无法获取控件ID的,目前也是使用模拟按键的方法操作。
 楼主| 发表于 2012-4-7 11:33:25 | 显示全部楼层
回复 8# 502762378

请问502762378兄指的是ControlSetText吗?
第一个是修改保存路径的,第二个确定创建的个人数据文件夹名称。
代码是多写一个winwait和winactivate主要是想尽量增加按键的准确率。
另外,请问有没有什么推荐的比较好的工具可获取控件/窗口的相对位置?
发表于 2012-4-7 12:20:03 | 显示全部楼层
 楼主| 发表于 2012-4-7 14:53:49 | 显示全部楼层
回复 12# afan
谢谢afan版主的指导,前段时间在安装IE7时有人曾介绍过这个工具,当前下载了只用于获取控件ID(该工具比AU3info好用一点,部分不能获取控件ID的窗口该工具仍可以),原来这个工具获取的坐标还可以在“屏幕”,“用户”和“控件”间切换,再次感谢!
 楼主| 发表于 2012-4-9 12:18:36 | 显示全部楼层
回复 6# 星雨朝霞

测试可完成操作,谢谢!
发表于 2012-11-7 09:24:56 | 显示全部楼层
记号。谢谢楼主开帖让我也跟着学习
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-27 01:31 , Processed in 0.084465 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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