//A程序启动时B就自动启动,A关闭时B就关闭这个容易,以调用notepad为例: Option Explicit 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 Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Const PROCESS_QUERY_INFORMATION = &H400 Const PROCESS_TERMINATE = &H1 Dim hProcess As LongPrivate Sub Form_Load() Dim pid As Long pid = Shell("notepad", 1) hProcess = OpenProcess(PROCESS_TERMINATE Or PROCESS_QUERY_INFORMATION, 0, pid) 'PROCESS_TERMINATE为必须 End SubPrivate Sub Form_Unload(Cancel As Integer) TerminateProcess hProcess, 0 CloseHandle hProcess End Sub
Option Explicit
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
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Const PROCESS_QUERY_INFORMATION = &H400
Const PROCESS_TERMINATE = &H1
Dim hProcess As LongPrivate Sub Form_Load()
Dim pid As Long
pid = Shell("notepad", 1)
hProcess = OpenProcess(PROCESS_TERMINATE Or PROCESS_QUERY_INFORMATION, 0, pid) 'PROCESS_TERMINATE为必须
End SubPrivate Sub Form_Unload(Cancel As Integer)
TerminateProcess hProcess, 0
CloseHandle hProcess
End Sub
就可以抄控它们了