水木子 发表于 2009-7-25 17:17:18

请教:如何判断腾讯QQ是否登陆成功?[已解决]

本帖最后由 水木子 于 2010-11-22 10:24 编辑

如题:如何判断QQ是否登录成功。
主要用于QQ登陆器,自动登录QQ号(前一个成功登陆以后,再登下一个)
想了很多办法都不行,望大家指点思路。

lynfr8 发表于 2009-7-25 19:40:45

实现的方法有很多的
给个简单的思路
登录时,检查是否有登录成功或失败的特征窗口标题
判断再执行下一步

水木子 发表于 2009-7-25 20:27:14

实现的方法有很多的
给个简单的思路
登录时,检查是否有登录成功或失败的特征窗口标题
判断再执行下一步
lynfr8 发表于 2009-7-25 19:40 http://www.autoitx.com/images/common/back.gif
嗯!如果是正常的成功登陆,会有什么特征啊?

lynfr8 发表于 2009-7-25 20:36:53

$var = WinList()

For $i = 1 to $var
; 只显示带有标题的可见窗口
If $var[$i] <> "" AND IsVisible($var[$i]) Then
    MsgBox(0, "详细信息", "标题=" & $var[$i] & @LF & "句柄=" & $var[$i])
EndIf
Next

Func IsVisible($handle)
If BitAnd( WinGetState($handle), 2 ) Then
    Return 1
Else
    Return 0
EndIf

EndFunc自己看看登录前后结果有何不一样

水木子 发表于 2009-7-25 20:49:41

$var = WinList()

For $i = 1 to $var
; 只显示带有标题的可见窗口
If $var[$i]"" AND IsVisible($var[$i]) Then
    MsgBox(0, "详细信息", "标题=" & $var[$i] & @LF & "句柄=" & $var ...
lynfr8 发表于 2009-7-25 20:36 http://www.autoitx.com/images/common/back.gif

学习ing,想了很久,就是不知道从何着手,不知道登陆前后有什么不同。
谢谢指点!

水木子 发表于 2009-7-25 20:56:59

原来是这样,登陆前后窗体的句柄不一样。
这个方法刚开始想多过,就是不知道如何实现。
非常感谢 lynfr8前辈

afan 发表于 2009-7-25 22:00:29

6# 水木子

那个句柄可都是变化的~
我以前写过一个捕捉所有帐号的,找找看~

l4ever 发表于 2009-7-25 22:01:58

看QQ.exe进程占用内存大小

stwcb2007 发表于 2009-7-26 07:29:39

我刚刚也想到一个方法
可以通过判断右下角托盘图标的颜色来实现
没登录的时候是灰色的

kn007 发表于 2009-7-26 08:47:32

问题解决了吗?
解决记得改为 已解决

水木子 发表于 2009-7-26 09:11:13

呵呵!问题已经解决了,不过办法实在不敢恭维,没想到会这样。。。

水木子 发表于 2009-7-26 09:15:44

本帖最后由 水木子 于 2010-8-25 09:40 编辑

正如7楼朋友所说,每次句柄都在变,不好判断(主要是自己还是技术不够)
非常感谢,谢谢各位的帮助、特别是lynfr8前辈、每次都麻烦你。

afan 发表于 2009-7-26 12:24:24

本帖最后由 afan 于 2009-7-26 15:28 编辑

呵呵,就解决了,是用的什么办法?

贴个以前写的捕捉所有登录的QQ的代码,稍加修改便能作用于此,不过不能用于2009版QQ~
Dim $qq, $lb
$zlb = WinList()
For $i = 1 to $zlb
        $qq = StringRegExp($zlb[$i], '(\d+)_QQMusic', 3)
        If $qq <> 1 then $lb &= @CRLF & $qq
Next
if $lb <> '' then MsgBox(0, "afan已登录的QQ", $lb)
对于09版的QQ,可以用比对指定文件时间戳的办法,一样很简单
当然还可采用GuiToolBar函数来完成,那样还可顺带捕捉到昵称,呵呵

menfan 发表于 2009-7-27 13:11:47

不错,学习一下。。
页: [1]
查看完整版本: 请教:如何判断腾讯QQ是否登陆成功?[已解决]