Ciao a tutti, espongo subito il quesito:
stò cercando da qualche giorno un modo valido per intercettare automaticamente l'avvio di un nuovo processo e per il momento ho trovato solo questi 2 esempi che però non hanno portato a nulla:

http://stackoverflow.com/questions/3...-using-c-sharp

http://bytes.com/topic/c-sharp/answe...process-loaded

Lo scopo a cui voglio arrivare è quello di sapere,tra tutti i processi attivi, se l'utente ha aperto un nuovo Internet Explorer; se si, di leggerne la query di ricerca, quest'ultimo punto è abbastanza semplice e riesco a farlo solo sui I.E. già attivi all'avvio del mio programma.

Questo è ciò che ho provato a fare guardando gli esempi:

codice:
public static void MonitorProcessi() 
{ 
//var processiAttivi = Process.GetProcesses(); 
ManagementEventWatcher guarda = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace")); 
guarda.EventArrived += new EventArrivedEventHandler(guarda_EventArrived); 
guarda.Start(); 
ManagementEventWatcher stop_guarda = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace")); 
stop_guarda.EventArrived += new EventArrivedEventHandler(stop_guarda_EventArrived);
stop_guarda.Start(); 
guarda.Stop(); 
stop_guarda.Stop(); 
} 
static void guarda_EventArrived(object sender, EventArrivedEventArgs e) 
{ 
string nuovoProcesso = e.NewEvent.Properties["ProcessName"].Value.ToString(); 
} 
protected static void stop_guarda_EventArrived(object sender, EventArrivedEventArgs e) 
{ 
string b = e.NewEvent.Properties["ProcessName"].Value.ToString(); 
}
Grazie a tutti anticipatamente.