VBS取QQ或TM自动登录代码并防止关闭的脚本

所属分类: 脚本专栏 / vbs 阅读数: 1709
收藏 0 赞 0 分享
'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 
更多精彩内容其他人还在看

vbscript Split函数用法详解(字符串转数组函数)

本文详细介绍了vbscript中split函数的用法,有关split函数的一些实例,vbscript中split函数的语法介绍,有需要的朋友参考下
收藏 0 赞 0 分享

VBS实现将Excel表格保存为txt文本

希望能够找到个能给excel表另存为TXT的VBS代码,虽然另存为可以选择,但还是需要直接VBS执行这一步另存为TXT格式的,应该如何写代码呢
收藏 0 赞 0 分享

vbs解决处理TXT文本数据相关问题实现代码

使用vbs处理txt数据时,会遇到一些问题,本文将提供详细的解决方法,希望可以帮助你们
收藏 0 赞 0 分享

关于vbs 生成静态页面过程中出现的问题

访问某个aspx页面,然后把服务器返回的页面以filestream 的形式保存为html格式,接下来将介绍实现代码
收藏 0 赞 0 分享

dim函数第三个参数设置截取字符的长度问题

dim函数的第三个参数,也就是截取字符的长度,我在设置这个的时候,出了些问题,提示无效的过程调用或参数,本文详细介绍如何解决
收藏 0 赞 0 分享

邪恶的eval和new Function使用介绍

这些代码可以干什么?可以肯定的是可以干很多猥琐的事
收藏 0 赞 0 分享

WScript.Shell对象SpecialFolders属性未公开文档分享

WshShell对象的SpecialFolders属性返WshSpecialFolders 对象,该对象是一个特殊文件夹集合,其中包含整套Windows特殊文件夹
收藏 0 赞 0 分享

用VBS修改(设置)系统时间和日期的代码

用 VBS 把系统的时间修改到2038年1月19日3时14分07秒之后,这样某些依赖于 Unix 时间戳的程序就会出问题。那么怎样用 VBS 修改系统的时间呢
收藏 0 赞 0 分享

VBS For Next循环的一些细节

For Next 语句是 VBS 中常用的循环语句,你可能已经用过无数次 For Next 循环,但是你是否注意过它的一些细节呢
收藏 0 赞 0 分享

VBS For Next循环的陷阱分享

在《VBS For Next循环的一些细节》中说到了 For Next 循环的控制变量仅仅在循环开始前求值一次,但是其中存在一处陷阱
收藏 0 赞 0 分享
查看更多