Forse ti conviene usare la ShellExecuteEx e la TerminateProcess nel modo seguente:
codice:
'Dichiarazione delle API e delle strutture che richiedono
Dim si As SHELLEXECUTEINFO
Private Type SHELLEXECUTEINFO
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type
Private Declare Function ShellExecuteEx Lib "shell32.dll" Alias "ShellExecuteExA" _
(si As SHELLEXECUTEINFO) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal _
hProcess As Long, ByVal uExitCode As Long) As Long
'Apertura
'Valorizzi si in base alle tue necessità
ShellExecuteEx(si)
'Chiusura
Dim exitCode As Long
If TerminateProcess(si.hProcess, exitCode) <> 0 Then
CloseHandle (si.hProcess)
End If