private void playmonitorProccess() { while (base.monitorAlive) { StringBuilder sb = new StringBuilder(); Process[] allProc = Process.GetProcesses("."); foreach (Process p in allProc) { try { if (p.MainWindowTitle.Length > 0) { sb.Append("Window Title:\t" + p.MainWindowTitle.ToString() + Environment.NewLine); sb.Append("Process Name:\t" + p.ProcessName.ToString() + Environment.NewLine); sb.Append(Environment.NewLine); // update procces in DB for daily report string today = System.DateTime.Today.ToString(); DBInstance.fillDailyProcessTable(today, "Window Title:\t" + p.MainWindowTitle.ToString() + ", Process Name:\t" + p.ProcessName.ToString() + "\r"); } } catch { Console.WriteLine("monitor proccess error"); } } // Console.WriteLine(sb ); if (ifLive) { updateProccess handler = Program.updateCurrentProcess; handler(sb.ToString()); } Thread.Sleep(4000); } //ShowErrorDialog("playmonitorProccess finish"); }