找回密码
 加入
搜索
楼主: adasir

如何实现获取QQ昵称。

 火... [复制链接]
发表于 2010-6-15 11:01:48 | 显示全部楼层
系统托盘操作之截获QQ昵称  留脚印专用 以备以后查阅.
发表于 2010-6-15 12:28:39 | 显示全部楼层
刚测试了下,基本没问题,偶尔一下没读到
发表于 2010-6-15 12:32:57 | 显示全部楼层
好东西,学习学习
发表于 2010-6-15 12:54:47 | 显示全部楼层
好东西。 试下
发表于 2010-6-15 13:58:50 | 显示全部楼层
刚测试了下,基本没问题,偶尔一下没读到
jycel 发表于 2010-6-15 12:28



    "偶尔一下没读到"那就不爽了,请提供偶尔出现的具体情况(是否同一账号出现的偶尔?是否还未完全登录完成?),以确认是否为bug而便于修正之
发表于 2010-6-15 14:34:04 | 显示全部楼层
呵呵,学习一下。。
发表于 2010-6-15 16:48:00 | 显示全部楼层
高手,,学习了
发表于 2010-6-15 17:22:12 | 显示全部楼层
回复 20# afan
是这样的,当时你修改可以读主账号为邮箱的时候,我测试时都读出来了(全是QQ号显示),后头我把QQ号显示改成邮箱显示的时候没读取这个号,重新登陆了下又没问题了!现在测试多次都没问题
发表于 2010-6-15 17:29:01 | 显示全部楼层
本帖最后由 jycel 于 2010-6-16 22:29 编辑

6-16发现一个新问题
在网吧使用过程中,发现有个别QQ用户无昵称(全是空格),这里不是程序问题,如果新手的话最好在读取时加个判断,免得造成在向服务端发送时产生错误,我当时忘了加判断,一直在提示数组错误,后面才查出是没得昵称的原因
……………………………………………………………………………………………………………………………………
我改了下写到配置文件中去以便程序调用
number为共读取了多少个号 date值自己去分割 别忘了读取内容后将文件删除,免得像网吧用户在读取客户机时,让顾客抓住把柄呵呵
#include <Array.au3>
#include <GUIToolbar.au3>
Dim $qqini=@ScriptDir&"\dir.ini"
If FileExists($qqini) Then FileDelete($qqini)
If Not ProcessExists("qq.exe") Then
IniWrite($qqini,"Temp","Number","0")
IniWrite($qqini,"Temp","date","查询失败本机未成功登陆QQ")
Exit
EndIf
QQInfo()
$var=IniReadSectionNames($qqini)
IniWrite($qqini,"Temp","Number",$var[0])

For $i=1 To $var[0]
         $j = IniRead($qqini, "Temp","date","")
         If $i = 1 Then IniWrite($qqini, "Temp","date", IniRead($qqini,$var[$i],$var[$i],""))
        If $i > 1 Then IniWrite($qqini, "Temp","date", $j & "|" &IniRead($qqini,$var[$i],$var[$i],""))
Next
For $d =$var[0] To 1 Step -1
        IniDelete($qqini,$var[$d])
Next

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]
                                                IniWrite($qqini,$info[0][0],$info[0][0],$sR[1]&"~!@#$"&$sR[0])
                                        EndIf
                                        
        Next
        Return $info
EndFunc   ;==>QQInfo

评分

参与人数 2金钱 +20 贡献 +5 收起 理由
lynfr8 + 5
afan + 20

查看全部评分

发表于 2010-6-15 21:19:17 | 显示全部楼层
回复  afan
是这样的,当时你修改可以读主账号为邮箱的时候,我测试时都读出来了(全是QQ号显示),后头我 ...
jycel 发表于 2010-6-15 17:22



    呵呵,这是正常的,那个是QQ的规则,修改主显帐号后需要在重新登录后才生效~
发表于 2010-6-15 22:54:16 | 显示全部楼层
上传张图片,感觉太爽了

本帖子中包含更多资源

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

×
发表于 2010-6-15 23:13:28 | 显示全部楼层
不错,学习了
发表于 2010-6-16 07:57:57 | 显示全部楼层
QQ2009和QQ2010都可以读取到,QQ2008好象读取不到。
发表于 2010-6-16 14:52:30 | 显示全部楼层
收藏 学习``
发表于 2010-6-16 15:20:53 | 显示全部楼层
要是能读 得  密码  那才叫“爽”
呵呵`
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-27 13:44 , Processed in 0.073643 second(s), 18 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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