'Dim QQUIN
Set objWMIService = GetObject _
("winmgmts:\\" & "." & "\root\cimv2")
Set ps = objWMIService.ExecQuery _
("SELECT * FROM Win32_process")
For Each ps in ps '列出系统中所有正在运行的程序
'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)
Set objWMIService = GetObject _
("winmgmts:\\" & "." & "\root\cimv2")
Set ps = objWMIService.ExecQuery _
("SELECT * FROM Win32_process")
For Each ps in ps '列出系统中所有正在运行的程序
'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
您可能感兴趣的文章:
- QQ登录 PHP OAuth示例代码
- 禁止指定QQ号登录的bat代码(前提这个用户在这台机器登陆过)
- QQ多帐号自动登录批处理脚本
- python登录QQ邮箱发信的实现代码
- 利用webqq协议使用python登录qq发消息源码参考
- 用VBScript制作QQ自动登录的脚本代码
- js如何调用qq互联api实现第三方登录
- 使用java swing实现qq登录界面示例分享
- vbs qq自动登录脚本改进版
- 网站接入QQ登录的两种方法
- QQ互联一键登录审核不通过的解决方案
- QQ登录背景闪动效果附效果演示源码下载
本文由 华域联盟 原创撰写:华域联盟 » VBS取QQ或TM自动登录代码并防止关闭的脚本
转载请保留出处和原文链接:https://www.cnhackhy.com/15273.htm