`
hereson2
  • 浏览: 451271 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

强制关闭指定QQ号

QQ 
阅读更多
'添加 Text1       Command1       List1

'在Text1输入欲检测的 QQ 号

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwprocessid As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessID As Long) As Long
Const PROCESS_TERMINATE = 1 '关闭进程
Const MAXLEN = 255
Const GW_HWNDNEXT = &H2
Dim aa$, strBuffer$, intCount%, allhwnd&, qqhwnd&, qqproid&, hw&, proid&, cnt&, idProc&, rttitle As String * 256

Private Sub Form_Load()
       Text1.Text = ""
End Sub

Private Sub Command1_Click()
       hw = FindWindow("#32770", vbNullString) '以类名查找Hwnd
       cnt = GetWindowText(hw, rttitle, 255)
       allhwnd = FindWindow("#32770", vbNullString)
       proid = ProcIDFromWnd(allhwnd)
       List1.Clear
       Do Until allhwnd = 0
          DoEvents
          allhwnd = GetWindow(allhwnd, GW_HWNDNEXT)             '开始找下一个窗体句柄
          If GetCaptionFromHwnd(allhwnd) <> "" Then
             'If ProcIDFromWnd(allhwnd) = proid Then List1.AddItem CStr(allhwnd) & "," & getclassnm(allhwnd) & "," & GetCaptionFromHwnd(allhwnd)
             List1.AddItem CStr(allhwnd) & "," & getclassnm(allhwnd) & "," & GetCaptionFromHwnd(allhwnd)
          End If
       Loop
       Call chkqq
End Sub

Function getclassnm(WinWnd As Long) As String
      Dim Ret$, RetVal&, lpClassName$
      lpClassName = Space(256)
      RetVal = GetClassName(WinWnd, lpClassName, 256)
      getclassnm = Left(lpClassName, RetVal)
End Function

Private Function GetCaptionFromHwnd(hwnd As Long) As String
       strBuffer = String$(MAXLEN - 1, 0)
       intCount = GetWindowText(hwnd, strBuffer, MAXLEN)
       If intCount > 0 Then GetCaptionFromHwnd = Left$(strBuffer, intCount)
End Function

Function ProcIDFromWnd(ByVal hwnd As Long) As Long
       GetWindowThreadProcessId hwnd, idProc
       ProcIDFromWnd = idProc
End Function

Sub chkqq()
       Dim s
       qqproid = 0
       For i = 0 To List1.ListCount - 1
          aa = Trim(List1.List(i))
          s = Split(aa, ",")
          If InStr(LCase(s(2)), "qqmusic") > 0 Then
             If CStr(Val(s(2))) = Trim(Text1.Text) Then
                qqproid = Val(s(0))
                Exit For
             End If
          End If
       Next i

       If qqproid > 0 Then
          Rtn = MsgBox(Text1.Text & " 已登录, 您确定要关闭吗?", vbYesNo, "CBM666 的强制关闭QQ")
          If Rtn = 6 Then
             proid = ProcIDFromWnd(qqproid)
             qqhwnd = OpenProcess(PROCESS_TERMINATE, False, proid)
             TerminateProcess qqhwnd, 1
             CloseHandle qqhwnd
             MsgBox Text1.Text & " 已关闭"
          End If
       Else
          MsgBox Text1.Text & " 未登录或QQ没打开"
       End If
End Sub
分享到:
评论

相关推荐

    爱莎网络监视器(用于监视局域网动态)

    11-查看指定网页的请求地址和跳转地址,可与指定QQ号进行聊天。 12-可以对指定主机发送消息。 13-可以随时更新各个选项的记录数目,可以手动设置保存记录的数目和显示记录的数目。 14-可以对监视的网页类型进行选择...

    紫金多用户留言本

    系统配置,指定如下系统运行模式:多用户模式手动切换,可启动/关闭新留言本申请模式。新注册模式手动切换,可启动/关闭新用户注册,以开放/保护留言本。自由留言模式手动切换,可启动/关闭用户不用密码发言功能,也...

    易语言 茶凉专用模块

    官方QQ群:92716369 ------------------------ -------------------------- ------------------------------ .版本 2 .子程序 按键, , 公开, 执行模拟按键(无返回值) .参数 键代码, 整数型, , 键代码 .参数 状态...

    74cms 骑士人才系统 v4.1.23 正式版 人才招聘系统源码

    优化 后台开启强制认证营业执照后,保存企业基本资料引导跳转到认证页 优化 套餐图标可在后台上传修改 优化 企业logo上传后可清除 优化 删除腾讯微博分享按钮 优化 快速注册极验遮罩层 优化 去除部分默认伪静态链接...

    GisTool_V4.8

    在图层模式中,输入层号即可关闭其它所有层,单独显示某一层。 43、子图注释分选。在选择点时,子图和文本按CTRL或SHIFT可以分别选取。 44、高亮显示线段。按CTRL+Z可以让光标所在位置的线段高亮显示。 45、常用...

    《计算机应用技术基础》第四章.pptx

    流氓软件 这类软件虽然不会破坏系统,但会不经用户同意强行侵入上网用户的电脑,强迫用户接受某些操作,或在用户不知情的情况下,强行安装插件,不带卸载程序或无法彻底卸载,甚至劫持用户浏览器转到某些指定网站等...

    php OA 源码 办公自动化源码

    如果审批开关被打开,用户在相应功能中发送信息时,被发送的信息将先被发送到审批者处,只有审批者通过审批,信息才能够发布,达到管理的规范化,对于管理要求不是很严格的客户,则可以设定关闭审批功能(系统默认为...

    Lerx 网站内容管理系统 v5.5.zip

    5.增加QQ帐号互联登录方式 6.增加微博帐号互联登录方式 7.增加微信帐号互联登录方式 8.网站的手机监控端增加最新评论列表 9.修复评论不记录客户端IP的问题 10.完全启动后5秒执行首页及栏目的静态文件生成、更新...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例022 自动类型转换与强制类型转换 33 2.2 运算符 34 实例023 加密可以这样简单(位运算) 34 实例024 用三元运算符判断奇数和偶数 35 实例025 更精确地使用浮点数 35 实例026 不用乘法运算符实现2×16 37 实例027...

    《JavaScript实例精通》[源代码]

    第1章(\1) 示例描述:变量。 ... ... 1_3.htm JavaScript中的强制类型转换。 ...3_2.htm 在字符串中查找指定字符。...3_4.htm 替换字符串中的指定字符。... 8_1.htm 按指定要求打开的窗口。...20_7.htm 校验腾讯QQ号。

    JavaScript实例精通

    JavaScript实例精通 1.本书1~20章所附代码的运行环境 操作系统:Windows 2003、Windows XP Professional,或者Windows 2000 开发环境:、Dreamwave、Notepad、UltraEdit,或者其他文本...20_7.htm 校验腾讯QQ号。

    java源码包---java 源码 大量 实例

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    java源码包2

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    java源码包3

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    java源码包4

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

Global site tag (gtag.js) - Google Analytics