|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
[VB5] Attendere la chiusura dell'applicazione
Sto creando un programma che usa un'editor esterno di pagine HTML (esempio FrontPage) e, usando la funzione Shell, dovrebbe aspettare la chiusura del programma e riaggiornare il file. Come posso rendere inattivo il mio programma durante la modifica con FrontPage (ed attenderne quindi la chiusura) ?
![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
|
Devi usare anche qualche altra funzione API in conguinzione con la Funzione SHELL.
Ti allego un esempio di codice che lancia un'applicazione ed attende che termini ' *** DICHIARAZIONI Private Const SYNCHRONIZE = &H100000 Private Const INFINITE = &HFFFF Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _ ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, _ ByVal dwMilliseconds As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long ' *** SUB CHE LANCIA UN APPLIZAZIONE ASPETTANDO CHE TERMINI Private Sub LanciaApplicazione(ByVal ssApplicazione As String) Dim lProgID As Long Dim lHwnd As Long Dim lRet As Long sApplicazione = Trim$(sApplicazione) If Len(sApplicazione) = 0 Then Exit Sub ' *** Recupero l'ID del Task dell'Applicazione lanciata lProgID = Shell(sApplicazione, vbNormalFocus) If lProgID <> 0 Then lHwnd = OpenProcess(SYNCHRONIZE, 0, lProgID) If lHwnd <> 0 Then ' *** Aspetto che l'Applicazione termini lRet = WaitForSingleObject(lHwnd, INFINITE) CloseHandle (lHwnd) End If End If End Sub P.S: Si puo' anche impostare un tempo di attesa variabile al posto della costante INFINITE |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
|
OPS! ... l'indentazione del codice è sparita ma il concetto rimane.
Ciao ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Per mantenere l'indentazione usa il tag {code} {/code}
Al posto di {} metti []... Ciao |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:36.