Domanda

Sto avviando un'applicazione Windows Form dal prompt dei comandi e ho bisogno di ottenere i codici di uscita generati dall'applicazione Windows Form. Il comando promt avvia l'applicazione e ritorna immediatamente. Ma l'applicazione viene eseguita in background. C'è un modo per ottenere i codici di uscita?

Cordiali saluti

Christian.

È stato utile?

Soluzione

La risposta è

start /wait [Your Command]

e poi

echo %errorlevel%

per estrarre il valore restituito.

-

E perché mi piace scrivere file batch ... (è un mio problema ...)

@echo off
echo Waiting for program to exit...
start /wait %*
echo Return code was %errorlevel%

Salvalo da qualche parte con un'estensione .bat. Eseguilo con la riga di comando del programma che desideri eseguire come argomenti. Eseguirà il comando che gli hai dato, aspetterà che finisca, quindi stampa il valore restituito.

Puoi anche programmare il programma sostituendo la linea start / wait con la tua app, perché come dicono i documenti (start /?):

  

Quando si esegue un'applicazione che è un'applicazione GUI a 32 bit, CMD.EXE       non attende la chiusura dell'applicazione prima di tornare a       il prompt dei comandi. Questo nuovo comportamento NON si verifica durante l'esecuzione       all'interno di uno script di comandi.

CMD attenderà una winform se viene chiamata da uno script indipendentemente dal fatto che le estensioni di comando siano abilitate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top