`
hereson2
  • 浏览: 462420 次
  • 性别: 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
分享到:
评论

相关推荐

    windows查看网络占用端口及进程关闭.docx

    - `/pid PID号`表示指定进程ID; - `/f`表示强制结束进程。 例如,如果需要终止PID为1234的进程,可以运行: ``` taskkill /pid 1234 /f ``` 这样,占用相应端口的进程就会被强制关闭。 ### 总结 通过以上步骤...

    使用广播机制仿制QQ强制下线功能

    在这个“使用广播机制仿制QQ强制下线功能”的场景中,我们主要探讨如何利用BroadcastReceiver来模拟类似QQ的用户强制下线操作,并且这个过程会涉及到用户界面的弹窗提示。 首先,我们需要创建一个BroadcastReceiver...

    苹果QQ在线

    标签中的"挂QQ"通常指的是通过某种方式让QQ在iPhone后台持续运行,而不会因为系统资源管理被强制关闭。一种常见的方法是使用第三方助手或插件,这些工具可能会模拟用户活动,欺骗系统认为QQ正在被使用,从而保持其...

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

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

    PHP实现QQ登录实例代码

    一旦登录成功,用户的QQ客户端将被强制下线,并弹出提示。开发者可以通过使用其他QQ号码登录来验证目标QQ号码是否已经成功登录。最后,使用`curl_close()`关闭cURL会话。 值得注意的是,文章中提到了一个概念:...

    紫金多用户留言本

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

    如何杀死进程

    在这个示例中,824进程被识别为QQ,并且已经被关闭。 如果在任务管理器中找不到对应的PID,或者需要更精确地操作,你可以通过命令行来杀死指定的进程。使用`tasklist`命令可以列出所有运行的进程及其PID,然后使用`...

    python_for_android中文api.pdf

    标题: Python for Android 中文 API 根据提供的文件信息,这份文档似乎是关于如何在Android...文档中提及的QQ号和网址可能是作者或项目组的联系方式和资源存放地址,开发者可以通过这些信息获取更详细的帮助和资源。

    易语言 茶凉专用模块

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

    电脑快捷键功能大全[收集].pdf

    36. CTRL+Alt+S:自定义保存网页内容到指定文件夹。 熟练掌握这些快捷键,不仅可以提升电脑操作效率,还可以让您的工作更加流畅,尤其是在软件开发、编程或网页浏览等需要频繁使用键盘的场景下。通过习惯使用快捷键...

    HarmonyOS云开发题库

    13. 对于系统内置账号的缺省口令,口令应符合复杂度的要求,如果不能满足口令复杂度则需要在用户首次登录时强制修改。正确。 系统内置账号的缺省口令需要符合复杂度的要求,以确保账号的安全性。 14. 一个对象的...

    电脑快捷键大全

    QQ号中发送信息** - **快捷键**: `Ctrl + 回车` - **功能**: 在QQ聊天窗口中快速发送消息。 **29. 快速定位** - **快捷键**: `Ctrl + Home` (文件头) / `Ctrl + End` (文件尾) - **功能**: 快速跳转到文档的...

    鸿蒙初级认证答案.docx

    - **版本号**:创建函数时,默认版本号并不是1,而是需要用户明确指定。 18. **Cloud DB数据加密**: - **加密粒度**:Cloud DB提供的本地数据加密功能是以Schema为单位进行设置的,并非按对象进行。 19. **...

    动静态仪器

    Win7-64位系统的安装过程稍微复杂,需要先按照32位系统的步骤进行,安装后会出现问题提示,这时在设备管理器中驱动会显示感叹号。接着,打开64位驱动文件夹中的dseo13b软件,按照提示进行操作,启用测试模式,签署...

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

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

    电脑快捷键

    - QQ:Ctrl+Alt+A 截取屏幕指定区域。 - 360浏览器:Ctrl+Shift+X 截图并保存到剪贴板。 在文本编辑中,还有更多快捷键,如: - Ctrl+S 保存文件。 - Ctrl+W 关闭当前文档。 - Ctrl+N 创建新文档。 - Ctrl+O 打开...

    linux基础命令

    - `cut`命令用于从一行中截取特定字段,如`cut -d '分隔符' -f 字段号`。 以上是关于Linux基础命令的一些详细介绍,包括GCC的使用、Vim编辑器的操作以及一些常用的Linux命令。这些内容对于初学者来说是非常有用的...

Global site tag (gtag.js) - Google Analytics