然后根据
进程ID
(PID)用kill命令结束进程。
kill
-9
PID
强制结束进程
如果被 Shell 所启动的程序还没有结束,我们就想主动结束它,该怎么做呢? 此时应调用的 Windows API 是 TerminateProcess,细节如下:
API 的声明:
Const SYNCHRONIZE = &H100000
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As
Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As
Long
Private Declare Function TerminateProcess Lib "kernel32" Alias
"TerminateProcess" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Shell 的程序范例:(以执行 MS-DOS 为例)
Dim pId As Long, pHnd As Long ' 分别声明 Process
Id 及 Process Handle 变数
pId = Shell("Command.com", vbNormalFocus) ' Shell
传回 Process Id
pHnd = OpenProcess(SYNCHRONIZE, 0, pId) ' 取得 Process
Handle
Call TerminateProcess( pHnd, 0 ) ' TerminateProcess 所传入的是 Process
Handle
Call CloseHandle( pHnd )
可以参考下面的两种参考方法:
第一种:用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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)