Controllare se un processo è in esecuzione [C#]

giovedì 22 maggio 2008 - 20.31

piero87 Profilo | Junior Member

Un saluto a tutti. Dopo aver cercato nei precedenti post, e non aver trovato niente che faccia al caso mio, vi chiedo come posso fare per verificare se un'applicazione (non il programma che eseguo, ma una seconda applicazione) è in esecuzione nel momento in cui controllo.
Ho provato con il mutex (sotto il codice), ma dopo, indipendentemente dal processo che voglio controllare, il risultato è sempre lo stesso: la prima volta non è in esecuzione, tutte le successive si; sempre così.
Uso VisuaStudio 2003 con il gramework 1.1. Come posso fare?

private void menuItem3_Click(object sender, System.EventArgs e) { if (!PrimoAvvio()) MessageBox.Show("Applicazione già in esecuzione"); else MessageBox.Show("Applicazione non in esecuzione"); } private static bool PrimoAvvio() { bool primoAvvio = false; appMutex = new System.Threading.Mutex(true, "taskmgr.exe", out primoAvvio); return primoAvvio; }



------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ho appena provato con la getprocessbyname, ma non so come comportarmi: mi succede la stessa cosa di prima!

Piero

Brainkiller Profilo | Guru

>ho appena provato con la getprocessbyname, ma non so come comportarmi:
>mi succede la stessa cosa di prima!

Puoi fare così, enumerare i processi con la GetProcesses() e poi ciclare facendo un IF per vedere se l'applicazione che vuoi controllare è avviata o meno:

Process[] lst= Process.GetProcesses(); foreach (Process p in lst) { if (p.ProcessName.ToLower() == "iexplore") Console.WriteLine("Internet Explorer in esecuzione"); else Console.WriteLine("Internet Explorer non in esecuzione"); }

Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

piero87 Profilo | Junior Member

ti ringrazio, sembra risolto (anche se non riesco a controllare tutti i processi.....spero di riuscire a controllare quello che mi servirà!!!)
Piero
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5