Come filtrare i processi in esecuzione utilizzando LINQ?

Scritto da  Pietro Libro il mercoledì 26 maggio 2010  •  Linguaggio: C#,VB   • Livello: 100


Per filtrare, tra i processi correntemente in esecuzione sulla propria macchina , solo quelli che contengono una particolare parola all'interno del titolo della finestra principale, possiamo utilizzare LINQ To Objects e la classe System.Diagnostic.Process. Nell'esempio visualizziamo il nome e l'id dei processi che contengono "Visual":

C#

List<System.Diagnostics.Process> processes = System.Diagnostics.Process.GetProcesses()
    .Where(p => p.MainWindowTitle.Contains("Visual")).ToList();
   
foreach (System.Diagnostics.Process p in processes)
{
    Console.WriteLine("Name: {0} Id:{1}", p.ProcessName, p.Id);
}


VB.NET

Dim processes As List(Of System.Diagnostics.Process) = _
   System.Diagnostics.Process.GetProcesses().Where( _
   Function(p) p.MainWindowTitle.Contains("Visual")).ToList

For Each p As System.Diagnostics.Process In processes
    Console.WriteLine("Name: {0} Id:{1}", p.ProcessName, p.Id)
Next


Tags: Linq

 
x