itljl 发表于 2010-8-31 15:42:36

[已解决]A版的QQ号获取失败

本帖最后由 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: 后面无空格。

afan 发表于 2010-8-31 15:52:32

我这木有qq2010,你把获取失败的$txt内容贴出来如何

itljl 发表于 2010-8-31 15:55:59

QQ:一个人(5584582)

afan 发表于 2010-8-31 15:57:45

#include <Array.au3>
#include <GUIToolbar.au3>
$qq = QQInfo()
_ArrayDisplay($qq)

Func QQInfo()
      Local $info, $sR, $i, $i_C, $txt
      Local $hTb = ControlGetHandle('', '', '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 += 1
                        ReDim $info[$info + 1]
                        $info[$info] = $sR
                        $info[$info] = $sR
                EndIf
      Next
      Return $info
EndFunc   ;==>QQInfo

itljl 发表于 2010-8-31 16:03:04

回复 4# afan

谢谢,果然成功了!!

zhongzijie 发表于 2010-8-31 16:55:33

学习了,谢谢afan

5735988 发表于 2012-3-21 01:50:22

回复 4# afan


    QQ在线没有别的消息的时候,就是显示QQ企鹅的时候是正常的,但是一有消息来,就错误了
页: [1]
查看完整版本: [已解决]A版的QQ号获取失败