C#: Bloccare un esecutivo in base ai processi di Windows

GException/ febbraio 2, 2017/ Developing/ 0 comments

In questo articolo vedremo come ottenere la lista dei processi del sistema operativo e bloccare l’esecutivo in base ad essi. Per fare ciò useremo la libreria Diagnostics.

Lista processi

Il seguente codice ottiene tutti i processi in esecuzione del nostro computer e, tramite un ciclo foreach, ne visualizza il nome in un MessageBox.

 

Per fare in modo che il nostro programma non venga eseguito se è in esecuzione un processo specifico, useremo anche una funzione della libreria Linq.
Con il seguente codice, si ottiene un array di processi identificati dal nome.
Se l’array fosse composto almeno da una cella, significherebbe che il processo è in esecuzione. Con la funzione exit si interrompe l’esecuzione del programma, e il parametro rappresenta il codice di errore. (0 = nessun errore)

 

Ovviamente si può adattare il codice per fare in modo che se un processo del nostro programma è in esecuzione, non venga avviato un altro processo. Basta controllare se l’array è composto da almeno due celle, invece che una.

Conclusione

Il fine di HOWORKS è quello di informare, non mi assumo nessuna responsabilità dell’uso che farete delle informazioni contenute in questo articolo.
Per qualsiasi dubbio potete contattarci utilizzando i commenti o le nostre pagine social.

Facci sapere cosa ne pensi con un commento!