首页 > 电脑

用vb关闭其他应用程序的窗体(已知窗口句柄)

更新时间2022-04-29 00:33:28

'我写了一个代码,用findwindow查找窗口获取窗口句柄,然后用sendmessage发送关闭信息使其关闭。但是我在findwindow函数里面显示返回值,句柄是对的。可是sendmessage函数好像没用一样,连最简单的窗体(如vbs弹窗,vb测试的窗体没用cancel)都关不了,请问是什么问题?也没用报错,但是关不掉,我也没加语句 on error resume next 或者goto。别说直接结束,我本身做弹窗拦截,一出来就关,不要手动操作,还不如直接点关闭按钮关掉。我的代码:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (Byval hwnd As Long, Byval wMsg As Long,Byval wParam As Long,lParam As Any) As Long '声明

a = FindWindow(vbNullString, "标题")
 
'sendmessage关窗口:
 
SendMessage a, WM_CLOSE, 0, 0

自己写的,有什么不对求大神请教。

你的WM_CLOSE没有定义,当然不行

定义一个

Private Const WM_CLOSE = &H10

或直接

SendMessage a, &H10, 0, 0

上一篇:自学java需要多长时间?

下一篇:***.net在指定目录创建一个txt文件