试试如下代码:如成功别忘了给分,不清楚可以zhu999@263.net
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
用API函数可以做到,问题是他还要开好几个程序,随之而来的控制,内存等等一系列问题会让他花费大量的精力。就象上次他的问题用VB控制word一样。根本不需用shell。
to liujun
我说的不能是指不应该,因为关闭是可以的,比如方法一找注册表,方法二找句柄,也许还有其他方法我不知道的。
mafangsan的方法很好,我原来没想到过。谢谢指教。不过我还是会用ActiveX.