| Eseguire comandi di sistema con C# |
| Programmazione & Co. |
| Domenica 04 Dicembre 2011 10:33 |
|
Mi stavo creando una interfaccia su misura per NMap che fosse multipiattoforma. Mi è venuto in mente di usare Monodevelop e C# visto che Java non è molto adatto alla scopo. Crea una GUI per NMap in sostanza vuol dire lanciare il comando che faresti direttamente da shell e rappresentare il risultato nella finestra. Vediamo quindi come eseguire, in generale, comandi DOS/Bash o altri simili direttamente da codice. Il codice qua sotto funziona sia su Linux che su Windows (su Mac OS X non ho ancoa provato). Per eseguire semplici comandi basta la classe Process e il metodo Start(); vediamo qualche esempio:
Tanto per farvi capire la potenza di Mono vi ho fatto tre esempi; il primo eseguito su Linux, il secondo eseguito su Linux e Windows, il terzo solo per Windows. Infatti il primo lancia l'editor di KDE, il secondo lancia NMap indicando cosa scennerizzare, il terzo lancia IE. Altre differenza tra i comandi è il numero di argomenti. Nel caso di NMap il primo argomento lancia il programma, il secondo imposta le opzioni. Possiamo anche usare IE con per aprire direttamente una pagina:
Se invece vogliamo qualcosa di più concreto dobbiamo usare la classe ProcessStartInfo.
L'esempio è un pò più complesso ma permette di eseguire le operazioni in maniera più personalizzata. |
| Ultimo aggiornamento Domenica 04 Dicembre 2011 10:56 |


