玩酷之家

 找回密码
 立即注册
查看: 177|回复: 0

VB 通过查询"标题"来关闭指定程序窗口或提示框

[复制链接]
发表于 2021-1-8 17:04:27 | 显示全部楼层 |阅读模式
你可以使用API函数FindWindow和PostMessage来寻找一个窗口并且关闭它。下面的范例演示如何关闭一个标题为"计算器"的窗口。
  1. '模块代码
  2. Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 'FindWindowAPI函数
  3. Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long 'PostMessageAPI函数
  4. Public Const WM_CLOSE = &H10 '常用变量定义
复制代码
  1. '程序代码
  2. Dim winHwnd As Long '定义一个长整形变量winHwnd
  3. Dim RetVal As Long '定义一个长整形变量RetVal
  4. winHwnd = FindWindow(vbNullString, "Calculator") 'API函数查找"Calculator"这个窗口
  5. Debug.Print winHwnd '显示这个窗口句柄
  6. If winHwnd <> 0 Then '如不为0,表示找到窗口
  7. RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&) '向这个窗口发送关闭信息
  8. If RetVal = 0 Then '如果返回信息为0.表示失败,未发送成功
  9. MsgBox "Error posting message." '提示发送失败
  10. End If
  11. Else
  12. MsgBox "The Calculator is not open." '提示没有找到打开的程序
  13. End If
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|玩酷之家 ( 鄂ICP备14012049号 )

GMT+8, 2021-4-22 11:31 , Processed in 1.076402 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表