找回密码
 加入
搜索
查看: 4930|回复: 18

关于实现软件的自动批量登录等问题

[复制链接]
发表于 2009-4-5 02:51:37 | 显示全部楼层 |阅读模式
本人现在有一个软件, 类似于 qq, 但是由于有很庞大的账号数量, 而且需要每天进行登录, 登录之后之后还需要进行一系列的操作, 确定操作成功结束了, 才可以退出一个账号的登录, 其余重复此过程

传统的人为模式, 实在是效率低下 , 看到了这里有很多自动批量登录 qq 的作品之后, 我在想, 各位能否告诉一下如何实现批量登号? (无论是在软件本身中存储好账号/密码, 一并登录; 又或者是通过自动访问某个储存了账号/密码的文件来实现登录)

由于我是刚刚才接触 AutoIt, 很希望能迫切的解决这个问题, 所以希望能指点一二

希望不会带来很多的困扰
 楼主| 发表于 2009-4-5 18:05:34 | 显示全部楼层
呃, 能有高手指点一下么?
发表于 2009-4-5 19:10:26 | 显示全部楼层
只能告诉你:可以实现.

你都不说你要登录的是什么软件!没法做、说更多。
 楼主| 发表于 2009-4-5 23:01:50 | 显示全部楼层
嗯, 是这样的, 我要登录的软件是世界通的客户端 (http://www.lwll.net/upload/sjt-Simplified.exe)

因为我现在有 100 个账号, 且每个账号每天都需要登录, 登录后进行一系列的操作, 再退出, 人为模式, 整个操作大概需要 3~4 个小时才能完成, 而且非常非常的枯燥

我的想法是, 让 AutoIt 自动从某个我指定的文件中读取 (或是直接存在 AutoIt 的脚本中?) 类似 "账号  密码" 这样格式的内容, 并自动进行登录操作, 一次登录几个程序可以进行指定 (本人目前是一次登录 4 个), 这若干个客户端在完成一系列特定的操作后退出登录, 再进行下一组若干个账号的登录

这是我初步的设想, 因为后面的操作, 可能十分麻烦, 所以就先不提, 希望可以先解决这个自动登录的问题呢
发表于 2009-4-6 00:53:29 | 显示全部楼层
Run(@ProgramFilesDir & "\Link World\sjt.exe")
WinWaitActive("世界通","用户帐号")
ControlSetText("世界通","用户帐号","Edit1","username")
ControlSetText("世界通","用户帐号","Edit2","passwd")
ControlClick("世界通","用户帐号","Button3")


说明一下
@ProgramFilesDir = c:\Program Files
(参考下帮助)
username 账户
passwd     密码

[ 本帖最后由 jackass110 于 2009-4-6 00:56 编辑 ]

本帖子中包含更多资源

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

×
 楼主| 发表于 2009-4-6 01:16:33 | 显示全部楼层
这个单个登录我自己已经弄出来了, 但是如何实现批量等, 实在是...
发表于 2009-4-6 01:59:21 | 显示全部楼层
$Total = IniReadSection("user.ini", "user");读分类
For $i = 1 To $Total[0][0];循环以读取各帐号
        Run(@ProgramFilesDir & "\Link World\sjt.exe")
    WinWaitActive("世界通","用户帐号")
        ControlSetText("世界通","用户帐号","Edit1",$Total[$i][0])
        ControlSetText("世界通","用户帐号","Edit2",$Total[$i][1])
        ControlClick("世界通","用户帐号","Button3")        
Next





user.ini

[user]
usera=passwda
userb=passwdb

[ 本帖最后由 jackass110 于 2009-4-6 02:01 编辑 ]
发表于 2009-4-6 02:00:59 | 显示全部楼层
关于自动操作的问题你可以加入到 Next 之前去完成
 楼主| 发表于 2009-4-6 02:07:45 | 显示全部楼层
很谢谢你啊, 朋友

那么, 请问这个, 可以实现, 呃, 一次限定只能开启指定数量的客户端么?
发表于 2009-4-6 02:09:32 | 显示全部楼层
这个问题我就解决不了了
毕竟我也是新手
不过你可以在INI里不要加入那么多的账户,可以另外用脚本加载不同INI的这个脚本

评分

参与人数 1金钱 +1 收起 理由
heeroyuyj + 1 谢谢

查看全部评分

 楼主| 发表于 2009-4-6 02:22:40 | 显示全部楼层
呃, 别这么说, 你帮了我不少的忙啊, 至少给了我很多思路, 呵呵, 还是要谢谢
 楼主| 发表于 2009-4-6 03:08:53 | 显示全部楼层
对了, 在 ListView 中的内容, 要如何实现根据指定的文字进行点击? 你知道吗?

类:                        SysListView32
枚举:                        1
类别名:                        SysListView321
ID:                        2385
文本:                        
坐标:                        372, 32
大小:                        297, 293
控件坐标:                144, 40
样式:                        0x50A10005
扩展样式:                0x00000000
句柄:                        0x01000E5C
像图中这个, 我使用 ControlListView() 可以取得其中某行某列的值, 但是我想要点击某个/些指定的文本/链接的话, 该怎么办呢???

[ 本帖最后由 heeroyuyj 于 2009-4-6 03:43 编辑 ]
发表于 2009-4-12 23:17:37 | 显示全部楼层
ControlCommand ( "窗口标题", "窗口文本" ,控件ID, "GetCurrentSelection", "")


参考下帮助ControlCommand
发表于 2009-5-8 23:38:09 | 显示全部楼层
我把这些复制bat文件,为什么还是不能登录!请高手指点    username=账号、passwd=密码
Run(@ProgramFilesDir & "\Link World\sjt.exe")
WinWaitActive("世界通","用户帐号")
ControlSetText("世界通","用户帐号","Edit1","username")
ControlSetText("世界通","用户帐号","Edit2","passwd")
ControlClick("世界通","用户帐号","Button3")
发表于 2009-5-9 05:29:43 | 显示全部楼层
我把这些复制bat文件,为什么还是不能登录!请高手指点
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-25 09:49 , Processed in 0.137281 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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