Oppure

Loading
17/01/19 9:11
rossiemme
Buongiorno a tutti, sto ancora lavorando con vb6 ma credo che questo problema possa essere capitato ad altri.


Ho realizzato un’App che gira in background, tra le sue funzionalità c’è quella di aprire un file PDF per mezzo del Reader Acrobat.

Il problema che ho è che quando spengo il pc, rimane aperto l’Acro32Pdf che blocca lo spegnimento, a quel punto bisogna far uscire dal background la mia app, chiuderla e finalmente si può spegnere il pc.

Tramite query unload del form non si può fare perché come priorità tenta di chiudere per primo l'app AcroPdf, quindi si blocca subito ancor prima di chiudere vb6.
In pratica rimane aperta (in background) l'app del reader pdf (NON IL FILE PDF).
Potrei chiuderla io da codice vb6 ogni volta che la uso ma non è conveniente perché perderei la posizione sulla pagina e le eventuali impostazioni e in più la lentezza di dover ricaricare il documento in esame.

L’unico modo per mantenere tutto ed evitare l’inconveniente sarebbe quello di intercettare l’evento di richiesta chiusura Windows o dello spengnmento pc dal vb6, questo mi permetterebbe di chiudere tutte le app connesse alla mia app in vb6

grazie per l'aiuto

aaa
17/01/19 19:33
Ma dalla queryunload ci passa? Hai provato?
17/01/19 20:55
rossiemme
Salve, Si ho provato con questo codice, caso mai volessi una riprova
'per saperte chi chiude il Form
   
   Private Sub Form_QueryUnload(cancel as integer, unloadMode as integer)
   
Select Case UnloadMode
   Case vbFormControlMenu
   ' il form è chiuso dall'utente
   Case vbFormCode
   ' il form è chiuso da codice
   Case  vbAppWindows '<--------
   ' la sessione di win sta terminando
   Case vbAppTaskManager
   'taskManager sta chiudendo l'applicazione
   Case vbFormMDIForm
   ' il form MDI sta chiudendo il form
   Case vbFormOwner
   ' il form che possiede questo form sta per essere chiuso
   End Select
  End Sub


sembrerebbe che l'Acro32PDF abbia una specie di priorità e che windows chiudendosi "passi" prima da lì che non da vb6
aaa