QQ AutoLogin VBS

QQ自动登陆的VBS代码

Dim WshShell, QQPath, QQselect
QQPath="D:\Progra~1\Tencent\QQ\CoralQQ.exe" 'QQ所在路径
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run QQPath
WScript.Sleep 2000
WshShell.AppActivate "QQ登录1"
WshShell.SendKeys "+{TAB}"
WshShell.SendKeys "123456789" 'QQ号码
WScript.Sleep 200
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "123456789" 'QQ密码
WScript.Sleep 200
WshShell.SendKeys "{ENTER}"


PS:复制以上代码并保存为“*.VBS”,并运行便可以了。另外因为在命令行下,只支持8位字符长度的文件名,所以像“Program Files”的这种文件名就要改写成“Progra~1”。如果想同时登陆多个QQ,只需再增加下面那样的代码就可以了。

WScript.Sleep 2000
QQPath="D:\Progra~1\Tencent\QQ\CoralQQ.exe" 'QQ所在路径
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run QQPath
WScript.Sleep 2000
WshShell.AppActivate "QQ登录1"
WshShell.SendKeys "+{TAB}"
WshShell.SendKeys "123456789" 'QQ号码
WScript.Sleep 200
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "123456789" 'QQ密码
WScript.Sleep 200
WshShell.SendKeys "{ENTER}"

让QQ"永远"运行
自从QQ出现了等级制度之后,现在有不少人都开始了疯狂挂级,希望在联机状态下始终运行QQ,即便被人关闭也能自动启动登录,而且还要防止因异常错误而退出。其实这些事情我们可以使用两个VBS脚本来实现这一目的。

1.QQ自动登录脚本
set fso = Wscript.createObject("Scripting.FileSystemObject")
Set f = fso.createTextFile("QQ自动登录.bat",true)
f.WriteLine "@echo off" & vbcrlf
for each ps in getobject("winmgmts:\\\\.\\root\\cimv2:win32_process").instances_ \'列出系统中所有正在运行的程序
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 & "具体请查看当前目录下的<QQ自动登录.bat>文件",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

将这些代码存储为"*.vbs"文件。然后将所有需要自动登录的QQ号码全部登录,再在一个QQ上点击"菜单"→"一键切换到TM"。此后运行该VBS脚本,会发现在当前目录下生成了一个"QQ自动登陆.bat"的文件,运行该文件即可自动登录所有QQ号码。
小提示:代码中的"XXXXXX"代表你的QQ号。

2.QQ防止关闭脚本
dim QQUIN
for each ps in getobject("winmgmts:\\\\.\\root\\cimv2:win32_process").instances_ \'列出系统中所有正在运行的程序
if lcase(ps.name)="qq.exe" or lcase(ps.name)="tm.exe" then \'检测是否QQ或TM
AppPath=ps.commandline \'提取QQ程序的命行
tmp=Replace(AppPath,chr(34),space(1))
UIN1=instr(tmp,"QQUIN:")+6
QQUIN=mid(tmp,UIN1,instr(UIN1,tmp,space(1))-UIN1) \'取QQ号码.
end if
next
if len(QQUIN)=0 then
msgbox "系统中没有运行QQ或TM程序,请重新启动QQ或TM,登陆后再使用一键换切换一下QQ或TM程序,再运行本脚本"
else
do \'循环检测
myqqin=chkuin(QQUIN) \'检测上面提取出来的QQ号码是否有在本机打开
if not myqqin then \'如果没有运行则,重新运行QQ程序并登录
runapp(AppPath) \'
wscript.sleep 10000 \'等待10秒
else
wscript.sleep 5000 \'等待5秒
end if
loop \'返回继续检测
end if

function RunApp(AppPath)
dim obj
set obj = createobject("WScript.Shell")
obj.exec(AppPath)
end function

function chkuin(QQUIN)
for each ps in getobject("winmgmts:\\\\.\\root\\cimv2:win32_process").instances_
if lcase(ps.name)="qq.exe" or lcase(ps.name)="tm.exe" then
AppPatht=ps.commandline
\'by chenall qq 368178720
tmp=Replace(AppPatht,chr(34),space(1))
UIN1=instr(tmp,"QQUIN:")+6
QQUINTMP=mid(tmp,UIN1,instr(UIN1,tmp,space(1))-UIN1)
if QQUINTMP=QQUIN then chkuin=true end if
end if
next
end function

将以上代码存储为"*.vbs"文件。而后登录QQ,一键切换到TM,再运行VBS脚本。此后,即使关闭了TM/QQ,它也会自动启动并登录至网络。经笔者在Windows XP SP2系统上测试,完全有效。
小编提示:对于用户挂QQ这个事情,小编对此并不赞同,因为除了能得到心里上的满足以外,其余任何事情都不能做到,而且还大量地浪费了国家的电能,所以在此小编提示大家,这个技巧只是叫大家明白,我们可以用VBS实现这一功能,绝对不是提倡这种挂QQ等级的做法。

相关日志

发表评论