ribelle ha scritto:
Vorrei passare i parametri al file exe (come fosse una funzione) ma anche ricevere il numero di file importati e se è andata a buon fine.
Per il
passaggio di parametri, puoi
invocare l'eseguibile passandoli come faresti lanciando l'applicazione da riga di comando, ossia aggiungendoli dopo il nome dell'eseguibile, mentre nel tuo codice puoi aiutarti con la classe
Process e il suo metodo .
Per
ricevere l'esito dell'elaborazione invece, i modi sono molteplici: potresti usare un
codice di uscita dall'applicazione (es. zero per "tutto OK", oppure 1, 2, 3, ecc. per diverse tipologie e livelli di errore) tramite
Environment.ExitCode, scrivere i risultati sulla Console come output e poi "catturarli" e interpretarli dal chiamante (vedi
questo articolo), oppure ancora scrivere l'esito della procedura in un file esterno, magari indicato tra i parametri della chiamata, in cui trovi i dati che ti servono su quanto è stato fatto e sul risultato, in un formato scelto da te che sia congeniale ai tuoi scopi.
Volendo
strutturare meglio il sistema, al posto dell'applicazione potresti predisporre un
Web Service, o una
Web API, o qualcosa di più curato che possa anche essere meglio gestito in termini infrastrutturali rispetto a un banale EXE che vai a lanciare. Adottando una di queste soluzioni, puoi tranquillamente usare
XML oppure
JSON come formati di interscambio per passare tutte le informazioni che vuoi e riceverne altrettante, senza particolari limiti imposti.
Fai una ricerca seguendo i link sopra riportati.
In caso di dubbi, specifica quali sono o aggiungi dettagli per consentire di comprendere meglio qual è la problematica.
Ciao!