Ottieni Exitcode dall’applicazione WindowsForms nella finestra di comando

Sto avviando un’applicazione Windows Form dal comando promt 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

Cristiano.

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 …)

 @ spegnere
 echo In attesa che il programma esca ...
 inizio / attesa% *
 Il codice di ritorno echo era% errorlevel%

Salvalo da qualche parte con un’estensione .bat. Eseguirlo con la riga di comando del programma che si desidera eseguire come argomenti. Eseguirà il comando che hai dato, attendi che termini e poi stampi il valore restituito.

Potresti anche programmare a fondo il programma sostituendo la riga di avvio / attesa 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 che l’applicazione termini prima di tornare al prompt dei comandi. Questo nuovo comportamento NON si verifica se si esegue all’interno di uno script di comando.

CMD attenderà una winform se viene richiamata da uno script indipendentemente dal fatto che le estensioni dei comandi siano abilitate.

Per dettagli sull’uso della direttiva ERRORLEVEL , leggi questo articolo di Rob van der Woude .