美国帮派电影:vb 关闭别的程序

来源:百度文库 编辑:高校问答 时间:2024/05/01 02:24:09
请问怎样可以把 shell 运行的程序关闭

理论上来说,如果你用shell运行外部程序,并要监视它,控制它,应该要由这个程序提供接口。当然,打开除外。COM和ActiveX就是为了解决这问题而诞生的。因此,用Shell的方法打开的程序应该不能在VB里关闭,这违反了程序设计的原则。
程序设计应该是。。。。。。(内容太多,说不清),总之,不要想单入口,多出口,既,在vb中用shell打开的程序,别去控制他,想控制,用ActiveX等技术。
试试如下代码:
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Dim ret

Private Sub Command1_Click()
ret = Shell("c:\windows\notepad.exe", 1)
End Sub

Private Sub Command2_Click()
Dim x As Long
x = OpenProcess(0, False, ret)
Dim ret2 As Long
ret2 = TerminateProcess(x, 0)
ret2 = CloseHandle(x)
End Sub
如还有任何疑问,可以发电子邮件给我:eeokee@gmail.com