Visualizzare documento

martedì 02 agosto 2005 - 10.24

Babi Profilo | Junior Member

Ciao a tutto il forum, dovrei aprire un documento al fine di visualizzazione.
ho utilizzato il seguente metodo, ma quando esegue la start il processo non si ferma
e quindi mi esegue subito anche la delete del documento. Come posso fare per dirgli
di apettare che il documento venga chiuso? grazie mille

Dim p As New Process
p.StartInfo.FileName = fileDiAppoggio
p.StartInfo.Verb = "open" '"Print"
p.StartInfo.CreateNoWindow = True
p.Start()
p.Close()
File.Delete(fileDiAppoggio)

Babi Profilo | Junior Member

Ciao Coach, ho provato, ma alla scadenza degli n secondi il processo va avaenti
e mi cancella il file che è ancora in uso quindi va in errore.
non esiste la possibilità dopo la start di sospendere il processo fino alla chiusura del file??

grazie
:)



AntCiar Profilo | Expert

ho trovato una soluzione al tuo problema

quando crei il processo, associagli un ID che memorizzi in una variabile

dopo la chiamata alla sub "Start" del processo, inserisci questo codice

While P.GetProcessById(1).HasExited = False

End While

"HasExited" indica se il processo (id) è stato terminato o no
In questo modo fino a che il processo rimane aperto, "HasExited" restituisce False e quindi non esci mai dal loop. Quando chiudi il processo la condizione del While è falsa e quindi esci dal ciclo senza eseguire la chiusura del processo via codice, visto che è stato chiuso "a mano". Spero di esserti stato di aiuto.
Ciao

Babi Profilo | Junior Member

Grazie,
ho trovato anche quest'altra soluzione utilizzando WaitForExit() che attende in modo indefinito la chiusura del processo.
quindi quando l'utente chiude il documento faccio la close e cancello il file..



p.Start()

p.WaitForExit()

p.Close()

File.Delete(fileDiAppoggio)

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5