fuinei 发表于 2012-3-20 19:15:16

[已解决]判断输入框是否发生变化或按钮状态的方法

本帖最后由 fuinei 于 2012-3-21 14:36 编辑

各位好,最近计划使用AU3写一个配置outlook的脚本,目前遇到一个小问题,在配置Outlook 2003 exchange模式时输入服务器和帐号信息后,点击"检查姓名"将返回其帐号信息,请问有什么办法可以判断图中的用户名test已发生变化或"检查姓名"按钮已变为灰显(不可用)状态呢?

user3000 发表于 2012-3-20 19:24:30

ControlGetText 之类函数试过吗?

502762378 发表于 2012-3-20 19:46:37

回复 1# fuinei


    哈哈你要练习还可以,模拟鼠标键盘操作配置outlook就不是那么回事了。说实话这个练习我做过
你输入用户名检查姓名系统会解析用户名为用户的邮箱地址,AD的函数有一个解析的功能,你可以判断相关input中得数值为用户的邮箱地址时可以进行下一步
还有楼主不厚道,问题了结要结贴

fuinei 发表于 2012-3-20 21:12:55

公司为域环境,输入帐号点击检查姓名后解析为显示名称,帐号是直接使用@username获取,解析后的名称则不固定,但检查姓名的按钮会变为不可用(灰显),请问有没有判断控件状态的函数呢?

502762378 发表于 2012-3-21 09:07:23

本帖最后由 502762378 于 2012-3-21 09:18 编辑

你试试#include <AD.au3>
_AD_Open()
$Title = "电子邮件帐户"
If WinActivate($Title) Then
    ControlSetText($Title, "", "RichEdit20WPT1", "whex101" );设定exchange server
        ControlSetText($Title, "", "RichEdit20WPT2", @UserName )
EndIf
ControlClick($Title, "", "Button2")
;MsgBox(1,1,_displayName())
While ControlGetText($Title, "", "RichEdit20WPT2")
        If ControlGetText($Title, "", "RichEdit20WPT2") = _displayName() Then
                ControlClick($Title, "", "Button14")
                ExitLoop
        EndIf
        Sleep(100)
WEnd
       
Func _displayName()
$aProperties = _AD_GetObjectProperties(@UserName)
For$n =1 To $aProperties
        If $aProperties[$n] = "displayname"          Then $displaynameName = $aProperties[$n];解析出的邮箱名
Next
    Return $displaynameName
EndFunc
_AD_Close()

fuinei 发表于 2012-3-21 12:48:34

请问502762378兄AD.AU3是否为第三方的脚本/函数呢?上面的代码我在编译时报错,并且在论坛中搜索也没有找到AD.au3的说明

502762378 发表于 2012-3-21 13:37:21

曾几何时,在论坛找到的一个很不错的自定义函数,我也不知道出处,给你地址
AD UDF的地址 http://www.autoitx.com/forum.php?mod=viewthread&tid=22817&highlight=AD

fuinei 发表于 2012-3-21 14:36:30

谢谢502762378指导,经测试可以满足要求.
今天早上按user3000的指导使用Controlgettext函数配合循环也满足要求了,谢谢各位的帮助

turmangg 发表于 2012-8-2 15:39:21

好东西~谢谢分享

turmangg 发表于 2012-8-2 15:39:25

好东西~谢谢分享

turmangg 发表于 2012-8-2 15:39:40

RE: [已解决]判断输入框是否发生变化或按钮状态的方法

好东西~谢谢分享

linzhuantu 发表于 2012-8-6 16:04:23

强谢谢分享哦
页: [1]
查看完整版本: [已解决]判断输入框是否发生变化或按钮状态的方法