哎我不是回答过你了吗?
算了帮你写了:
Dim RetVal As Long
On Error GoTo Calc: if AppActivate "计算器" then
RetVal = Shell(App.Path & "\b.EXE", 1)endif
Exit Sub
Calc:
RetVal = Shell(App.Path & "\a.EXE", 1)
算了帮你写了:
Dim RetVal As Long
On Error GoTo Calc: if AppActivate "计算器" then
RetVal = Shell(App.Path & "\b.EXE", 1)endif
Exit Sub
Calc:
RetVal = Shell(App.Path & "\a.EXE", 1)
算了帮你写了:
Dim RetVal As Long
On Error GoTo Calc: if AppActivate "计算器" then
RetVal = Shell(App.Path & "\b.EXE", 1)endif
Exit Sub
Calc:
RetVal = Shell(App.Path & "\a.EXE", 1)
Private Sub Command1_Click()
id = Shell("notepad.exe", vbNormalFocus)End SubPrivate Sub Command2_Click()
AppActivate id
SendKeys "%{F4}"
End Sub
先找到应用程序窗体的句柄
然后发消息关闭
Const INFINITE = &HFFFFFFFF
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 CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
' 分别声明 Process ID 及 Process Handle 变数
Dim pId As Long, pHnd As LongPrivate Sub Command1_Click() 'Open ' Shell传回Process ID,运行的程序是CALC.EXE
pId = Shell("CALC.EXE", 1)
' 取得 Process Handle
pHnd = OpenProcess(SYNCHRONIZE, 0, pId)
End SubPrivate Sub Command2_Click() 'Close ' TerminateProcess 所传入的是 Process Handle
Call TerminateProcess(pHnd, 0)
Call CloseHandle(pHnd)
End Sub