‘下面的代码放到模块中
Declare Function FindWindow Lib “user32” Alias “FindWindowA” (ByVal lpClassName As String, ByVal lpWindowName As String) As Long ‘FindWindowAPI函数
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函数
Public Const WM_CLOSE = &H10 ‘常用变量定义
‘程序代码
Dim winHwnd As Long ‘定义一个长整形变量winHwnd
Dim RetVal As Long ‘定义一个长整形变量RetVal
winHwnd = FindWindow(vbNullString, “Calculator”) ‘API函数查找”Calculator”这个窗口
Debug.Print winHwnd ‘显示这个窗口句柄
If winHwnd <> 0 Then ‘如不为0,表示找到窗口
RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&) ‘向这个窗口发送关闭信息
If RetVal = 0 Then ‘如果返回信息为0.表示失败,未发送成功
MsgBox “Error posting message.” ‘提示发送失败
End If
Else
MsgBox “The Calculator is not open.” ‘提示没有找到打开的程序
End If
你用 Shell ,那就继续用 Shell 吧
有一个命令是 :taskkill ,用这命令直接结束进程吧。

这篇博客介绍了如何使用VB的FindWindow和PostMessage API函数关闭名为'Calculator'的窗口。同时提到了使用Shell命令的taskkill来结束进程,提供了taskkill命令的详细参数和用法,强调了使用筛选器和PID的重要性。
最低0.47元/天 解锁文章
683

被折叠的 条评论
为什么被折叠?



