Ciao
Premessa: non sono esperto di VB6 e saprei fare quello che chiedi tu in vb.net, che permette di far partire e chiudere i processi..
Cercando su internet ho trovato questo codice:
Il programma qua fa altro oltre ad aprire il file... Però l'idea è che c'è la variabile process_handle che ti può dire se il processo (il file è aperto) è in esecuzione oppure no. E poi con close lo termini..codice:Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Const INFINITE = &HFFFF ' Timeout infinito Private Const SYNCHRONIZE = &H100000 esecuzione di un programma con attesa della chiusura process_id = Shell("Programma\da\eseguire", vbNormalFocus) DoEvents process_handle = OpenProcess(SYNCHRONIZE, 0, process_id) If process_handle <> 0 Then WaitForSingleObject process_handle, INFINITE CloseHandle process_handle End If

Rispondi quotando