Come rilevare un processo di inizio e fine usando c # in windows?

Ho una buona esperienza lavorativa con C # ma ora voglio sviluppare un semplice software (può essere un’app console) che rileva solo il nome e l’ora del processo iniziato o terminato sul mio computer.

per esempio (sto supponendo che la mia piccola app sia già in esecuzione) se un utente apre firefox allora dovrebbe semplicemente inserire firefox.exe in un database con il tempo e se un utente lo chiude fa anche lo stesso.

e come sopra se un utente apre il blocco note quindi dovrebbe inserire notepad.exe con tempo ans così via.

so come inserire valori nel database ma ho solo bisogno del tuo aiuto per identificare il processo / programma di inizio o fine sul mio sistema.

onestamente dicendo che non ho mai sviluppato questo tipo di applicazione prima quindi non ho idea che sia ansible utilizzare l’app per console o ho bisogno di creare un’app di servizio Windows ecc.

quindi per favore fornisci la tua risposta considerando me come un principiante.

nella parte di c # sono in grado di capirlo, quindi mi devo preoccupare di questo.

sto usando Visual Studio 2010 con. NET 4.0

-Grazie in anticipo