传说中是QQ为了实现与TM之间一键切换,实现过程就是命令行加参数,正好这个参数是可以用WMI取到的,所以就有了下文,但本人测试后发现可能会不成功,不知道会不会跟QQ版本有关。
Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateTextFile("QQ自动登录.bat", True)
f.WriteLine "@echo off" & vbCrLf
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set ps = objWMIService.ExecQuery("SELECT * FROM Win32_process")
For Each ps in ps '列出系统中所有正在运行的程序
If LCase(ps.Name) = "qq.exe" Or LCase(ps.Name) = "tm.exe" Then '检测是否QQ或TM
QQCMD = ps.commandline '提取QQ程序的命行
tmp = Replace(QQCMD, Chr(34), Space(1))
UIN1 = InStr(tmp, "QQUIN:") + 6
If Not Len(UIN1) = 0 Then
QQUIN = Mid(tmp, UIN1, InStr(UIN1, tmp, Space(1)) - UIN1) '取QQ号码.
QQ = QQ + 1
QQNUM = QQNUM & "QQ号码" & QQ & ":" & vbTab & QQUIN & vbCrLf
f.WriteLine "ECHO QQ号码:" & QQUIN
f.WriteLine "ECHO 命令行:" & QQCMD
f.WriteLine QQCMD & vbCrLf
End If
End If
Next
If Not Len(QQ) = 0 Then
MsgBox "已经成功提取以下QQ号码的自动登录命令行" & vbCrLf & vbCrLf & QQNUM & vbCrLf & "具体请查看当前目录下的文件", 0, "QQ自动登录命令提取脚本 BY chenall QQ:XXXXXX"
Else
MsgBox "提取QQ自动登录命令失败,请查看QQ或TM是否正在运行.", 0, "QQ自动登录命令提取脚本 BY chenall QQ:XXXXXX"
f.Close
Set f = fso.GetFile("QQ自动登录.bat")
f.Delete
End If
引用本页地址:
http://www.yongfa365.com/item/VBSQuQQHuoTMHaoMaDeZiDongDengLuMingLingXingvbs.html