找回密码
 加入
搜索
查看: 3787|回复: 6

[系统综合] [已解决]A版的QQ号获取失败

  [复制链接]
发表于 2010-8-31 15:42:36 | 显示全部楼层 |阅读模式
本帖最后由 itljl 于 2010-8-31 16:10 编辑

http://www.autoitx.com/thread-15701-1-1.html
在QQ2008,中其中主要的代码是

$i_C = _GUICtrlToolbar_IndexToCommand($hTb, $i)
                $txt = _GUICtrlToolbar_GetButtonText($hTb, $i_C)
                MsgBox(0,"提示",$txt)
                $sR = StringRegExp($txt, '^QQ\:\h(.+)\((\d{5,}|.+@.+)\)', 3) ;修正昵称有()号与显示邮箱的问题

QQ2008 $txt 获取到的内容是 QQ:一个人(5584582)
但下面正则却提取不出来。
这是为什么呢?和qq2010的区别似乎是QQ: 后面无空格。

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-8-31 15:52:32 | 显示全部楼层
我这木有qq2010,你把获取失败的$txt内容贴出来如何
 楼主| 发表于 2010-8-31 15:55:59 | 显示全部楼层
QQ:一个人(5584582)
发表于 2010-8-31 15:57:45 | 显示全部楼层
#include <Array.au3>
#include <GUIToolbar.au3>
$qq = QQInfo()
_ArrayDisplay($qq)

Func QQInfo()
        Local $info[1][2], $sR, $i, $i_C, $txt
        Local $hTb = ControlGetHandle('[class:Shell_TrayWnd]', '', 'ToolbarWindow321')
        For $i = 0 To _GUICtrlToolbar_ButtonCount($hTb) - 1 
                $i_C = _GUICtrlToolbar_IndexToCommand($hTb, $i) 
                $txt = _GUICtrlToolbar_GetButtonText($hTb, $i_C) 
                $sR = StringRegExp($txt, '^QQ\:\h?(.+)\((\d{5,}|.+@.+)\)', 3)
                If Not @error Then
                        $info[0][0] += 1
                        ReDim $info[$info[0][0] + 1][2]
                        $info[$info[0][0]][0] = $sR[1]
                        $info[$info[0][0]][1] = $sR[0]
                EndIf
        Next
        Return $info
EndFunc   ;==>QQInfo
 楼主| 发表于 2010-8-31 16:03:04 | 显示全部楼层
回复 4# afan

谢谢,果然成功了!!
发表于 2010-8-31 16:55:33 | 显示全部楼层
学习了,谢谢afan
发表于 2012-3-21 01:50:22 | 显示全部楼层
回复 4# afan


    QQ在线没有别的消息的时候,就是显示QQ企鹅的时候是正常的,但是一有消息来,就错误了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 13:40 , Processed in 0.076478 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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