touch_xu 发表于 2012-8-30 20:12:07

在第三方程序界面嵌入下拉列表

本帖最后由 touch_xu 于 2012-8-30 20:17 编辑


如图所示的公司邮件系统,每次登录都要输入用户名,第次登录会记录最后一次用户名。
由于我们经常要切换用户,所以如何用AU3进行如下操作呢?


在用户名嵌入一个下拉列表,用INI文件进行记录登录用户名呢,真心求教,谢谢!

gto250 发表于 2012-8-30 20:33:50

顶起,我也想知道,可能p版的msgspy那个udf能实现吧

happytc 发表于 2012-8-30 20:35:35

原则上可以的!
不过,你连啥第三方程序都不说,要具体问题具体分析呀!

你把你的所谓“第三方程序”发上来,肯定本版有等着热心的大侠们帮助你的

zch11230 发表于 2012-8-30 23:19:20

自己画一个GUI 再进行相应的自动登陆操作 简单得多吧,也好扩展功能。

wangyibo1234 发表于 2012-8-31 08:56:39

这个功能。我也一直想实现。如果能的话。真的非常方便。。请问各位大牛。在没源码的情况下。如果要实现些功能。需要那些技术,应该看那方面资料。如果能指明。非常感谢!{:face (361):}

netsmu 发表于 2012-8-31 14:42:28

估计改不了第三方软件,但是可以用AU3做一个登录窗口界面,把用户名和密码存到INI中,然后点登录的时候,获取用户名和密码,运行第三方软件,然后把用户名和密码输入到第三方软件中,然后AU3模拟点击登录,这样就可以了。

javarike 发表于 2012-8-31 17:26:53

可以搜索“登陆”,有一打的资料出来。。。。。。。。

happyplace 发表于 2012-9-4 08:37:03

_WinAPI_EnumProcessWindows

andyloving 发表于 2012-9-4 16:01:03

我正好在开发一个项目,其中也有这样的功能,说说我的逻辑吧。

INI文件定义如下:
#登录窗口默认值

user   =方建康|lixiaowei|xujuan

INI文件的获得及存储默认用户代码如下:
;读取ini获得默认用户
Func GetINI_Default_User()
        $skin = IniRead(@ScriptDir & "\config.ini", "LoginDefault", "user", "")
        If $skin == "" Then
                $skin = ""
        EndIf
        Return $skin
EndFunc   ;==>GetINI_Default_User

;设置ini记录用户名称
Func SetINI_Default_User($name)
        $history_user = IniRead(@ScriptDir & "\config.ini", "LoginDefault", "user", "")
        If $history_user == "" Then
                IniWrite(@ScriptDir & "\config.ini", "LoginDefault", "user", $name)
        Else
                ;判断将要写入的用户名是否已经在历史用户中,如果不存在,则将用户直接写入,如果存在,则将该用户提前
                $result = StringInStr($history_user, $name)
                If $result == 0 Then
                        IniWrite(@ScriptDir & "\config.ini", "LoginDefault", "user", $name & "|" & $history_user)
                Else
                        If StringInStr($history_user, $name & "|") <> 0 Then
                                $new_User = StringReplace($history_user, $name & "|", "")
                                IniWrite(@ScriptDir & "\config.ini", "LoginDefault", "user", $name & "|" & $new_User)
                        Else
                                $new_User = StringReplace($history_user, "|" & $name, "")
                                IniWrite(@ScriptDir & "\config.ini", "LoginDefault", "user", $name & "|" & $new_User)
                        EndIf
                EndIf
        EndIf
EndFunc   ;==>SetINI_Default_User
主要思想是,通过“|”符合来分割不同的用户,再将本次登录的用户,切换到最前面去,即可。

效果如下:

gto250 发表于 2012-9-4 20:32:49

回复 10# andyloving
楼上的代码很不错,不过楼主要的不是第三方的登录界面,而且楼主贴出的那个界面也不是au3写的,他想要的是用au3对那个界面进行操作,添加一个下拉列表。

andyloving 发表于 2012-9-4 20:54:11

回复 11# gto250


    代码是au3的,我只是用了皮肤而已。我只是给一个思路,具体情况楼主得自己去琢磨了。

gto250 发表于 2012-9-4 22:09:17

回复 12# andyloving
关键是楼主琢磨不出,才在这里发帖的。
他是想用au3代码给第三方软件界面添加一个下拉控件
而不是用au3制作一个登录界面

andyloving 发表于 2012-9-4 22:37:46

回复 13# gto250

那我就没有这方面的经验了,误解题意了,SORRY!
有个方法,不知可否接受:
做一个壳,自己使用au3做一个登录界面,这个登录界面登录执行时,拉起第三方软件的登录界面,将au3登录界面上填写的内容,传递给第三个登录界面,以此来绕过第三方的登录界面信息设置。
仅仅是一个想法,希望有帮助。

xiehuahere 发表于 2012-9-5 10:24:51

回复 10# andyloving

测试用例管理,你们不用 TestDirector 或 QualityCenter 的吗?
想看看登录进去后是个啥样子哈~~ ;-)

andyloving 发表于 2012-9-5 11:28:05

回复 15# xiehuahere


我们自己开发,不用TD和QC,因为我们需要对其扩充,以后会考虑做自动化测试工厂。
想看主界面,可以单独联系哈。
页: [1] 2
查看完整版本: 在第三方程序界面嵌入下拉列表