Friday 10 November 2017

Waitforexit Processo C # Example Programma


Consente di leggere ciò che dice di MSDN su di esso: The WaitForExit () () () di sovraccarico è usato per fare la corrente di attesa filo fino a quando il processo associato termina. Questo metodo indica al componente del processo di aspettare una quantità infinita di tempo per il processo per uscire. Ciò può causare un'applicazione per bloccarsi. Ad esempio, se si chiama CloseMainWindow per un processo che ha un interfaccia utente, la richiesta al sistema operativo per terminare il processo associato potrebbe non essere gestita se il processo viene scritto mai entrare nel suo ciclo di messaggi. Questo sovraccarico assicura che tutta l'elaborazione è stata completata, compresa la gestione di eventi asincroni per standard output reindirizzato. Si dovrebbe usare questo sovraccarico dopo una chiamata al sovraccarico WaitForExit (Int32) quando l'uscita standard è stato reindirizzato a gestori di eventi asincroni. Questo è, naturalmente, per. Cosa ti fa pensare che non aspetta il processo di nota per finire Quali sono i segni di che cosa è la prova Venerdì 20 Febbraio 2009 20:13 Non sono sicuro se questo è cambiato di recente, ma di nuovo nelle applicazioni al giorno sulla finestra mobili mai veramente chiusa quando si colpisce la X per chiudere loro, avrebbero solo ridurre al minimo e mantenere in esecuzione in background (questo non è stato un errore, è stata una caratteristica, dal momento che la prossima volta che si avvia l'applicazione sarebbe iniziato veramente veloce, yah lo so, folle ma vero), in modo che potrebbe essere il motivo per cui WaitForExit è forse comporta in modo strano e di attesa per l'avvio dell'applicazione, invece di uscire. ma poi di nuovo è solo speculazione sulla base di knowlegde delle antiche versioni di Windows Mobile. Venerdì 20 Febbraio 2009 23:03 Id piace urtare questa domanda in su. Im su Windows Mobile 6 Standard e Im cercando di generare una istanza del browser. Id piace aspettare fino a quando l'utente chiude il browser. Ma WaitForExit ritorna estremamente veloce. Ecco il codice: p nuovo Process () p. StartInfo. Arguments quotexample-sitequot p. StartInfo. Verb quotOpenquot p. StartInfo. UseShellExecute falso p. StartInfo. FileName quotIExplore. exequot p. Start) p. WaitForExit () MessageBox (.Show (quotNow il browser dovrebbe essere closedquot) Quale dovrebbe essere il modo giusto per ottenere i resuts attesi lunedì, giugno 08, 2009 22:45 Dove simbolo è. simbolo. AlexB Martedì 9 Giugno 2009 21:58 Im vedere lo stesso problema, ma su XP. Credo che la prova può essere visto in qualsiasi debugger (come sto vedendo), o in qualsiasi applicazione di console (non necessariamente sul cellulare) Mercoledì 2 Settembre 2009 20:35 Solo che tu non poi ottenere un oggetto processo che è possibile uso. Se si tenta myProc fioco come nuovo processo () myProc Process. Start (quotiexplorequot, simbolo quotfinance. yahooqhpsquot) myProc. WaitForExit () Riporta ancora immediatamente. Mercoledì 2 settembre 2009 20:48 Il problema è che non si sta iniziando una nuova istanza di iexplore. exe. Stai solo la creazione di una nuova finestra sul processo esistente. La mia ipotesi è inizia iexplore. exe, vede un'istanza precedente e comunica con l'istanza precedente in modo che si apre la nuova finestra, e quindi questo caso è iniziata immediatamente uscite. Così il comportamento è corretto e prevedibile. blog. voidnish Mercoledì 2 settembre 2009 20:52 Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione del sito Web MSDN. Se si sceglie di partecipare, il sondaggio on-line sarà presentato a voi quando si lascia il sito Web MSDN. Volete participateThis domanda può sembrare un po 'strano, ma sto cercando di eseguire VS2005 attraverso un processo ed eseguire un comando specifico e mi WaitForExit (). Sto reindirizzare il mio ingresso e uscita con successo, ma ogni tanto mi capita di ricevere un errore di segnalazione Finestra WindowMessage. Il problema è che sto Remoting, in modo che quando si verifica questo MessageWindow durante l'esecuzione del processo, io appendere a meno che accedo l'altro (servizi remoti) della macchina e chiudere la finestra. C'è un modo per uccidere programatically questa finestra o, eventualmente disattivare l'MessageWindow si verifichi ho pensato di correre VS in un'esecuzione silenziosa (devo ancora trovare un modo per farlo). Ho anche cercato di vedere se c'è qualche cosa che è lauched quando ciò si verifica confrontare a quando non è così. Giovedi, 25 mese di ottobre, 2007 20:32 Beh, ho tentato di utilizzare FindWindow e FindWindowEx con SendMessage, ma non sono riuscito a trovare l'handle di finestra corretto. Ma dal momento che so che un errore di Windows Segnalazione Msssage Box sarà spuntando, ho controllato per vedere se era proprio processo (ed è). Il processo è dwwin. exe (Dr. Watson Win) e tutto quello che dovevo fare era questo per permettere a me stesso per ottenere corretto il problema attuale. Sostituire il blocco di codice corrente al di sotto per l'istruzione WaitForExit () che ho avuto in precedenza. proc. WaitForExit (60000) un processo minuto ProcArray Process. GetProcessesByName (quotdwwinquot) foreach (Processo ProcessFound in ProcArray) Ho anche controllato per vedere se sono stati in grado di ottenere il Process. MainWindowTitle (), ma è impostato su quotquot. Quindi questo è un hack e io davvero non mi piace usarlo, ma funziona per l'esecuzione corrente. Lunedi, 29 mese di ottobre, 2007 19:26 No, posso reindirizzare input e output senza un problema. L'errore che sto ricevendo è il generale Segnalazione errori di Windows e, purtroppo, è in giapponese, quindi non so che cosa l'errore esatto è, ma è l'errore generale. Non ho il codice di fronte a me, ma ho creato delegatesthreads di leggere reindirizzato l'errore e l'uscita dopo esco l'intero processo. Smusso venire con qualsiasi cosa e sono in grado di eseguire lo stesso processo sul mio computer, ma io non sono in grado di fare questo comando una particolare attraverso la comunicazione remota. I wil provare domani la comunicazione remota su un computer non-giapponese al lavoro e mi post i miei risultati a prescindere. Venerdì, 26 Ottobre 2007 02:34 sono in esecuzione console quotcmdquot. Se sì allora si deve digitare anche uscire. Venerdì, 26 Ottobre 2007 04:50 Se un'idea di quanto tempo il processo sta andando a prendere, quindi è possibile utilizzare bool exitted process. WaitForExit (timeInMilliSeconds) se (exitted) Processo exitted prima del periodo di timeout. messaggio di errore di stampa altrimenti questo potrebbe non essere correlato a quello che state facendo, ma ho avuto un'esperienza in cui il processo non sarebbe uscire se ho reindirizzato la sua uscita. Prova a disabilitare il reindirizzamento di uscita e vedere se il processo si chiude. Fare un tentativo, potrebbe funzionare. Venerdì, 26 Ottobre 2007 11:58 Vorrei provare che, ma è troppo di un hack. Ho troppi comandi diversi che prendono diverse quantità di tempo (30 secondi a 25 minuti) quindi non c'è tempo reale impostazione che ho potuto mettere senza distruggere la mia prestazione. Questa funzione ha lavorato correttamente per comandi multipli nel corso degli ultimi 6 mesi e ora decide di uscire con me. Ho provato su un altro computer senza problemi (che è veramente scherzi con me). So che non è il reindirizzamento outputerror perché una nuova finestra viene creato sul server che sto Remoting a. Non appena chiudo quella finestra, il mio processo si chiude come previsto e l'output corretto viene visualizzato sul lato utente. Grazie per il vostro aiuto, ma io sono sempre veramente frustrato con questo problema. Venerdì, 26 Ottobre 2007 15:01 Senza conoscere i dettagli del messaggio sono stati solo indovinare il problema. Avete installato 3.5 beta o Visual Studio 2008 beta a tutti come si sta usando il processo per avviare il programma, Process. Start (quotfile. exequot), o stai usando ProcessStartInfo Venerdì, 26 Ottobre 2007 15:21 No, ho 2003 e 2005 installato. proc nuova Process () procSI nuova ProcessStartInfo () Ho poi creato un nuovo thread sia per il StandardError e StandardOutput ho poi scrivere i miei comandamenti e se (reindirizzamento standard out) avviare il thread per st. Se fuori (reindirizzamento errore standard) avviare il thread per st. Errore di Proc. WaitForExit () lt -------- questo è dove si verifica la finestra di errore di Windows generico Segnalazione. Ho tradotto quello che potevo dalla finestra che si apre. Microsoft Visual Studio 2005 Perché si verifica problema, finisce Microsoft Visual Studio 2005. Si applica inconveniente, non ci sono scuse. Grazie ancora per tutto il vostro tempo. Ho creato il StreamWriter peccato prima di creare l'oggetto proc processo. Ho quindi reindirizzare l'ingresso dopo il comando proc. Start (), così come faccio io non possiedo questo Indipendentemente da ciò, posso fare il cambiamento per spostare il sIn. Close () per dopo la chiamata WaitForExit per vedere se questo fa alcuna modifica. Il Proc era un tipo, avrebbe dovuto essere proc. Di nuovo, non è un messaggio di errore, quindi non c'è nessuna traccia di stack. Il mio reindirizzamento StandardError è vuoto e il riorientamento di uscita standard contiene quello che mi aspettavo, ma nulla indica un errore si è verificato. questo è il motivo per cui tutto funziona ancora dopo la chiusura della finestra di Windows Error Reporting. Io posto quello che succede dopo che spostare la linea sIn. Close () al di sotto della linea di WaitForExit (). Venerdì, 26 Ottobre 2007 16:59 Peter Ritchie ha scritto: Non volete chiudere l'oggetto peccato fino dopo l'applicazione è uscito se sei reindirizzamento. Un shouldnt chiudere qualsiasi di tali flussi a tutti. L'oggetto del processo le possiede ed è il responsabile per la pulizia dopo se stessa. Si dovrebbe chiamare al meglio Process. Dispose () dopo aver finito con l'oggetto del processo. Non avete certamente bisogno di (vale a dire la sua ridondante), ma dovreste causare un problema dopo che il processo è terminato. Process. close è il metodo consigliato di chiudere la standardinput e standardoutput (e StandardError) ruscelli. Venerdì, 26 Ottobre 2007 17:03 sarei sorpresi se il metodo Dispose non ha ancora invito a chiudere, almeno come parte del suo funzionamento. Vorrei favorire sfruttando il fatto che dal processo implementa IDisposable (indirettamente attraverso l'estensione Componente che implementa), si dovrebbe richiamare Dispose e lasciare che per una corretta pulizia. Io lo consiglio vivamente invocando process. close invece, nè in aggiunta a, Process. Dispose. Sì, lo smaltimento chiama Chiudi. La mia prima raccomandazione è quella di utilizzare un blocco utilizzando, il mio secondo è quello di chiamare Chiudi quando si sa quando hai finito con esso. In oggetti che implementano un metodo quotClosequot pur essendo IDisposable, la sua molto più chiaro per utilizzare il metodo quotClosequot. Plus senza utilizzando un blocco utilizzando non hai modo di scoping variabile e la chiamata a Dispose - l'oggetto potrebbe essere usato dopo la chiamata da smaltire. Se si utilizza Chiudi youve, smaltito tutte le risorse gestite ma l'oggetto può essere ancora utilizzato (vale a dire che eccedente stato contrassegnato come quotdisposedquot e lo si può utilizzare per eseguire un'altra applicazione senza l'assegnazione di un nuovo oggetto del processo - che altrimenti lanciare un ObjectDisposedException ). Venerdì, 26 Ottobre 2007 18:09 Quindi, se la prima raccomandazione è quella di utilizzare un blocco utilizzando, quindi la prossima cosa migliore sarebbe quella di chiamare Dispose. Non è vicino, quando, come hai detto, sai youre fatto con l'oggetto. Con solo chiamando chiudere su qualcosa che implementa IDisposable, lo sviluppatore è potenzialmente facendo un errore. Se Smaltire fa un po di pulizia aggiuntiva oltre la semplice delega per chiudere, poi il programmatore sta creando se stesso per un bug semplicemente chiamando Chiudi. Ci può essere un caso per la chiamata Close, ma solo se non sei fatto con l'oggetto, come avete indicato in fondo alla tua ultima risposta. Ma quando è fatto con esso, chiamare Dispose. Venerdì, 26 Ottobre 2007 18:20 Quindi, se la prima raccomandazione è quella di utilizzare un blocco utilizzando, quindi la prossima cosa migliore sarebbe quella di chiamare Dispose. Non è vicino, quando, come hai detto, sai youre fatto con l'oggetto. Con solo chiamando chiudere su qualcosa che implementa IDisposable, lo sviluppatore è potenzialmente facendo un errore. Se Smaltire fa un po di pulizia aggiuntiva oltre la semplice delega per chiudere, poi il programmatore sta creando se stesso per un bug semplicemente chiamando Chiudi. Ci può essere un caso per la chiamata Close, ma solo se non sei fatto con l'oggetto, come avete indicato in fondo alla tua ultima risposta. Ma quando è fatto con esso, chiamare Dispose. In realtà, la sua quotmorequot equivalente a: DisposableClass obj nuovi DisposableClass () obj usa e getta IDisposable come IDisposable se (null usa e getta) Ma sì, questo è quello che un'istruzione using è quotfunctionally equivalentquot a ma io non concordare chiamando esplicitamente Smaltire in presenza di un metodo quotClosequot dovrebbe essere la prima scelta a causa della mancanza di scoping con la chiamata Dispose. Ad esempio, il seguente: (nuovo processo di processo Process ()) utilizzando Ho avuto il servizio in esecuzione, ma mi sono fermato perché aveva funzionato per 2 ore e non aveva mai è il punto di interruzione che avrebbe dovuto colpire in 10 minuti di me iniziare il mio cliente. Io non commentata la linea sIn. Close () solo ora e ri-iniziato il servizio e il Cliente e tutto funziona come ha fatto prima. Posso colpire il punto di interruzione dopo la WaitForExit () e completare, con il Windows Segnalazione errori messaggio ancora (come era prima). Così, nel mio caso, ho bisogno a chiudere il flusso di input per essere in grado di uscire dal processo come previsto. Ci sono altre idee che posso recomment la linea sIn. Close () se si desidera controllare qualcosa. Venerdì, 26 Ottobre 2007 19:19 Antonio Maimone ha scritto: Ho avuto il servizio in esecuzione, ma mi sono fermato perché aveva funzionato per 2 ore e non aveva mai è il punto di interruzione che avrebbe dovuto colpire in 10 minuti di me iniziare il mio cliente . Io non commentata la linea sIn. Close () solo ora e ri-iniziato il servizio e il Cliente e tutto funziona come ha fatto prima. Posso colpire il punto di interruzione dopo la WaitForExit () e completare, con il Windows Segnalazione errori messaggio ancora (come era prima). Così, nel mio caso, ho bisogno a chiudere il flusso di input per essere in grado di uscire dal processo come previsto. Ci sono altre idee che posso recomment la linea sIn. Close () se si desidera controllare qualcosa. Sarebbe utile per vedere i dettagli di eccezione quando si ottiene l'errore (come lo stack di chiamate). Come stai usando lo standard input e l'output standard Stai usando qualsiasi metodo ReadLine Peter, il mio punto è: Se non chiamare Dispose su un oggetto che implementa (direttamente o indirettamente) IDisposable, quindi tu sei solo per chiedere un bug. Non voglio discutere su questo all'infinito però. È possibile continuare a farlo nel modo di fare, e bastone malato con la mia. Finché noi non devono mantenere ogni codice gli altri, bene. E tra l'altro, un doesnt blocco quotusingquot ti protegga sia. Nulla vi impedisce di dichiarare una variabile all'esterno del blocco (se ricordo bene), in modo che possa essere ancora portata dopo il blocco finisce. Dovete essere diligenti nella scrittura di codice corretto. Se si dichiara nella dichiarazione quotusingquot, questo è un modo. Ma per chiudere utilizzando l'approccio tryfinally solo perché lascia la variabile di portata non è questo il punto. Si deve ancora essere Dispose () d qualche parte. Venerdì, 26 Ottobre 2007 19:34 Peter Ritchie ha scritto: Anthony Maimone ha scritto: Ho avuto il servizio in esecuzione, ma mi sono fermato perché aveva funzionato per 2 ore e non aveva mai è il punto di interruzione che avrebbe dovuto colpire entro 10 minuti mi iniziare il mio cliente. Io non commentata la linea sIn. Close () solo ora e ri-iniziato il servizio e il Cliente e tutto funziona come ha fatto prima. Posso colpire il punto di interruzione dopo la WaitForExit () e completare, con il Windows Segnalazione errori messaggio ancora (come era prima). Così, nel mio caso, ho bisogno a chiudere il flusso di input per essere in grado di uscire dal processo come previsto. Ci sono altre idee che posso recomment la linea sIn. Close () se si desidera controllare qualcosa. Sarebbe utile per vedere i dettagli di eccezione quando si ottiene l'errore (come lo stack di chiamate). Come stai usando lo standard input e l'output standard Si sta utilizzando i metodi ReadLine Ancora una volta, questo non è un'eccezione che viene gettato, quindi non sto vedendo alcun dettaglio eccezione. Non vado direttamente al blocco catch nel mio codice, riprendo subito dopo la chiamata WaitForExit (). La finestra che sto ricevendo è lo stesso che si ottiene quando qualsiasi prodotto Microsoft chiude in modo imprevisto e MS vuole informazioni sul crash. Così ancora una volta, non ci sono particolari eccezioni. Tuttavia, in uno dei registri di sistema, sto ricevendo un mesage (tradotto dal giapponese) erros applicazione quotDevenv. exe verificano, 8.0.50727.762 versione degli errori si è verificato modulo msvcr80.dll, versione 8.0.50727.762, si sono verificati errori indirizzo 0x00039001. Per ulteriori informazioni, go. microsoftfwlinkevents. asp il Helo e supporto tecnico si prega di refer. quot sto reindirizzare l'input standard di passare nei diversi comandi, perché ho avuto problemi a trovare loro di lavorare come volevo formare il StartInfo. Sto reindirizzando i flussi in uscita e di errore per controllare ciò che hanno in loro dopo che il processo è terminato. Questo mi permetterà di controllare per tutto ciò che vorrei in entrambe flusso una volta che abbiamo finito. Anche io non permetto uno dei fili di uscita o il reindirizzamento di errore per unirsi fino a dopo il processo ha superato la chiamata WaitForExit. Sono completamente perplesso. Venerdì, 26 Ottobre 2007 19:53 Peter, il mio punto è: Se non chiamare Dispose su un oggetto che implementa (direttamente o indirettamente) IDisposable, quindi tu sei solo per chiedere un bug. Non voglio discutere su questo all'infinito però. È possibile continuare a farlo nel modo di fare, e bastone malato con la mia. Finché noi non devono mantenere ogni codice gli altri, bene. Io non sono d'accordo. La sua non è una quotbugquot di non chiamare Dispose. Le risorse non otterrete liberate subito, ma il GC rilascerà loro se ha bisogno della memoria (assumendo che il pattern Dispose sia correttamente attuato ed esiste un finalizzatore). Se il youre classe utilizzando implementa un metodo quotClosequot che pretende molto fare le stesse cose come quotDisposequot, Close dovrebbe essere sia documentato in quanto tale o theres un bug nella classe. Non ho mai incontrato una classe framework che implementa IDisposable e un metodo Close (), che ha introdotto un quotleakquot quando chiudere è stato chiamato senza chiamare Dispose. Il modello schiacciante per DisposeClose è che lo smaltimento chiama chiudere così come impostazione di un flag quotdisposedquot (utilizzato per il lancio ObjectDisposedException). In realtà questo è dettagliato nel quadro di riferimento generale: quotOccasionally un nome specifico di dominio è più appropriato di smaltimento. Ad esempio, un file di incapsulamento potrebbe voler utilizzare il nome di metodo Close. In questo caso, l'attuazione Smaltire privatamente e creare un metodo Close pubblico che chiama Dispose. Il seguente esempio di codice illustra questo modello. È possibile sostituire chiudere con un nome metodo appropriato alla domain. quot dall'attuazione Finalizza e Dispose per ripulire le risorse non gestite Così come quotFor alcune classi di oggetti, come ad esempio file o oggetti di connessione al database, un metodo Close meglio rappresenta l'operazione logica che deve essere eseguita quando il consumatore oggetti è finito con il object. quot dal migliorare gestito prestazioni del codice (anche se anche si descrive inoltre quotIn casi ben scritti, entrambi sono funzionalmente equivalent. quot implica che l'utilizzo di Close è più chiaro con quotbetter representsquot.) e tra l'altro, un doesnt blocco quotusingquot ti protegga sia. Nulla vi impedisce di dichiarare una variabile all'esterno del blocco (se ricordo bene), in modo che possa essere ancora portata dopo il blocco finisce. Dovete essere diligenti nella scrittura di codice corretto. Se si dichiara nella dichiarazione quotusingquot, questo è un modo. Ma per chiudere utilizzando l'approccio tryfinally solo perché lascia la variabile di portata non è questo il punto. Si deve ancora essere Dispose () d qualche parte. Sì, ce n'è tutti i modi si può spararsi in un piede, ma non questo è uno scenario stavamo discutendo. Vorrei girare personalmente giù qualsiasi codice che ho rivisto in quel modo. Questo sarebbe sulla mia lista non è raccomandato. Venerdì, 26 Ottobre 2007 19:54 Ancora una volta, questo non è un'eccezione che viene gettato, quindi non sto vedendo alcun dettaglio eccezione. Non vado direttamente al blocco catch nel mio codice, riprendo subito dopo la chiamata WaitForExit (). La finestra che sto ricevendo è lo stesso che si ottiene quando qualsiasi prodotto Microsoft chiude in modo imprevisto e MS vuole informazioni sul crash. Così ancora una volta, non ci sono particolari eccezioni. Tuttavia, in uno dei registri di sistema, sto ricevendo un mesage (tradotto dal giapponese) erros applicazione quotDevenv. exe verificano, 8.0.50727.762 versione degli errori si è verificato modulo msvcr80.dll, versione 8.0.50727.762, si sono verificati errori indirizzo 0x00039001. Per ulteriori informazioni, go. microsoftfwlinkevents. asp il Helo e supporto tecnico si prega di refer. quot ho assunto l'applicazione stava generando il messaggio (nel qual caso si dovrebbe sempre ottenere un'eccezione e una traccia dello stack) non fosse stato chiaro che si riprende dopo la chiamata a WaitForExit (). Sembra a me come l'applicazione youre in esecuzione viene terminato in modo anomalo. Sei in esecuzione devenv. exe Im non sicuro di quello che si può fare nella vostra applicazione per fermare un'altra applicazione da terminato in modo anomalo. Anthony Maimone ha scritto: Sto reindirizzare l'input standard di passare nei diversi comandi, perché ho avuto problemi a trovare loro di lavorare come volevo formare il StartInfo. Sto reindirizzando i flussi in uscita e di errore per controllare ciò che hanno in loro dopo che il processo è terminato. Questo mi permetterà di controllare per tutto ciò che vorrei in entrambe flusso una volta che abbiamo finito. Anche io non permetto uno dei fili di uscita o il reindirizzamento di errore per unirsi fino a dopo il processo ha superato la chiamata WaitForExit. Sono completamente perplesso. È possibile ottenere una situazione di stallo se si blocca sulla lettura da e applicazioni standard output - che sarebbe sbloccare se si chiude il flusso, credo. L'unica cosa che posso pensare è la creazione di un'applicazione in esecuzione su Windows Server e monitorare comming formano i processi che si sta controllando da remoto e poi trovare i tasti giusti e premere li programaticaly pusing un messaggio alla pompa messaggio della finestra di dialogo . Questo accade Alos con Excel, Word e altre applicazioni che possono essere utilizzate con autimation MSFT non ha progettato queste applicazioni da eseguire senza l'interazione dell'utente in modo da una volta ogni tanto si otterrà finestre su errori. Hai pensato di usare MSBuid che è più appropriata per lotti costruisce, anche sembra che in TFS 2008 server di build sarà facile da costruire. Sabato 27 Ottobre 2007 11:07 Beh, ho tentato di utilizzare FindWindow e FindWindowEx con SendMessage, ma non sono riuscito a trovare l'handle di finestra corretto. Ma dal momento che so che un errore di Windows Segnalazione Msssage Box sarà spuntando, ho controllato per vedere se era proprio processo (ed è). Il processo è dwwin. exe (Dr. Watson Win) e tutto quello che dovevo fare era questo per permettere a me stesso per ottenere corretto il problema attuale. Sostituire il blocco di codice corrente al di sotto per l'istruzione WaitForExit () che ho avuto in precedenza. proc. WaitForExit (60000) un processo minuto ProcArray Process. GetProcessesByName (quotdwwinquot) foreach (Processo ProcessFound in ProcArray) Ho anche controllato per vedere se sono stati in grado di ottenere il Process. MainWindowTitle (), ma è impostato su quotquot. Quindi questo è un hack e io davvero non mi piace usarlo, ma funziona per l'esecuzione corrente. Lunedi, 29 mese di ottobre, 2007 07:26

No comments:

Post a Comment