QQ2012有没有办法处理判断QQ是否在线,就是成功登录
QQ2012有没有办法处理判断QQ是否在线,就是成功登录。 #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
找了一下 AFAN的 代码可以用,但是我要用来调用进别的程序,能否不用_ArrayDisplay 来显示 能否不用_ArrayDisplay 来显示
因为读取到的QQ号,要调用到别的地方 哎,如果登录的是QQ图标,就是企鹅的时候能用,一有别的消息来的时候,就不行了,放弃 做自动安装啊,应该可以 改了一点.#include <GUIToolbar.au3>
$qq = QQInfo(); 昵称
MsgBox(0, '', $qq)
$qq = QQInfo(1); 帐号
MsgBox(0, '', $qq)
Func QQInfo($frag = 0)
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
If $frag < UBound($sR) Then
$info = $sR[$frag]
Else
$info = 'error'
EndIf
EndIf
Next
Return $info
EndFunc ;==>QQInfo
回复 3# 5735988 回复 3# 5735988
也可以用2楼的代码,这样获取就可以了.
$qq = QQInfo()
MsgBox(0, '', $qq);昵称
MsgBox(0, '', $qq);帐号 请问是判断一个QQ还是多个QQ呢? 原来是读的托盘 开始以为是读的面板上的控件 激动了一把 因为现在像QQ之类的好多软件都读不到控件信息了 一些操作都是用的模拟鼠标点击或send实现,运行的时候都不能操作键鼠了。 如果不是要查询自己电脑上是否登录了..可以使用这个
http://webpresence.qq.com/getonline?Type=1&QQ号:
这个可以查看是否在线 #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
这个源代码可以吗? WinSetState("QQ2012", "", @SW_SHOW)
Send("^!s")
Sleep(800)
$qq = QQInfo(1); 帐号
If $qq = $QQ_zhanghao Then
MsgBox(0,0,"登陆成功")
ExitLoop
EndIf 先按出消息盒子,在判断了, 回复 8# zldfsz
判断一个QQ 如果单是判断是否成功登录,那倒好判,如果是还要获取QQ号,正如你所说:“一有别的消息来的时候,就不行了”
页:
[1]
2