怎样用vb程序来关闭其它应用程序

怎样用vb程序来关闭其它应用程序,第1张

你可以使用API函数FindWindow和PostMessage来寻找一个窗口并且关闭它。下面的范例演示如何关闭一个标题为"Calculator"的窗口。

'下面的代码放到模块中正陪

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函数调用外部程序后返回PID值的功能将程序关掉,在获得外部程序的PID后,你可以调用命令睁薯缺taskkill或ntsd命令关闭程序,也可以用API编悉辩程实现,这里我举个简单的例子(用ntsd命令,格式为 ntsd -c q -p pid):

Dim x '手肆声明外部变量x,作为记录外部程序PID值的变量

Private Sub Command1_Click()'用Command1按钮调用一个外部程序

x = Shell("cmd.exe")

End Sub

Private Sub Command2_Click()'用Command2按钮调用ntsd将其关闭

Dim command As String

command = "ntsd -c q -p " &Str(x)

Shell command, vbHide

End Sub

可以参考拆老下面的两种参考方法:

第一种:用cmd中的taskkill结束程序

shell ”cmd/c taskkill /f /im 你的进程名.exe“

第二种:(WIN7)以下的电脑可以使用,用ntsd结束程序

shell ”cmd/c ntsd -c q -pn 用户的进程名.exe“

扩展资料:

参考语句

For Each...Next 语句: 对于数组或集合中的枣亩每一个元素,重复一组语句。 

FormatDateTime 函数: 返回格式化为日期或时间的表达式。

FormatNumber 函数: 返回格式化为数的表达式。

Function 语句: 声明形成 Function 过旅岩升程体的名称、参数和代码。

GetObject 函数: 从文件返回对“自动”对象的访问。

参考资料来源:百度百科-Visual Basic


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12469864.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存