Ciao a tutti,
quello che vorrei fare in VB6 è controllare se un programma .exe è iniziato e che poi è terminato in modo da poter controllare l'abilitazione\disabilitazione di un'altro programma scritto da me in visual basic 6.
Grazie!
Ciao a tutti,
quello che vorrei fare in VB6 è controllare se un programma .exe è iniziato e che poi è terminato in modo da poter controllare l'abilitazione\disabilitazione di un'altro programma scritto da me in visual basic 6.
Grazie!
Ma l'eseguibile lo devi lanciare tu dal programma VB6 o e' indipendente?
Se e' completamente indipendente, potrebbe non essere fattibile ...
Il programma lo lancio tramite un pulsante in VB6.....
Un programma si lancia con del codice ... quale codice usi?
Da dichiarare in un modulo:
lancio una applicazione e attendo che finisca l'esecuzione: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 Const INFINITE = &HFFFF ' Timeout infinito Public Const SYNCHRONIZE = &H100000 Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
codice:Dim process_handle As Long Dim process_id As Long process_id = Shell(AppDaEseguire, vbNormalFocus) DoEvents process_handle = OpenProcess(SYNCHRONIZE, 0, process_id) If process_handle <> 0 Then WaitForSingleObject process_handle, INFINITE CloseHandle process_handle End If
Scusate i puntini di sospensione...... La verità è che non ho argomenti....
Sì ... ma possibilmente ermurena non vuole bloccare la sua applicazione in attesa che termini quella eseguita (che e' quello che fa la WaitForSingleObject) ... bisogna che lui ci precisi cosa vuole fare ...
grazie kalosjo!!!
effettivamente in questo modo il mio codice in VB6 rimane bloccato in attesa... ma per ora mi va benone!! grazie ache a te oregon!