private void StartMonitoring_Click(object sender, EventArgs e) { if (ProcNameInput.Text.Trim() == string.Empty) { label1.Text = "Proccess Field are Empty ???"; return; } TreeDisplay1.Nodes.Clear(); NodeClickAction = NodeClickEvent.CopyToClipBoard; ProccessGrabber.RunWorkerAsync("catch-start"); label1.Text = "Waiting for apps....."; MessageBox.Show("Run you apps now and I'll try to grab the information !"); }
private void ProccessGrabber_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { ThreadSafe.Invoke(this, GetAllProc, true, ThreadSafe.InvokeProperty.Enabled, ThreadSafe.InvokeMethod.SET); ThreadSafe.Invoke(this, StartMonitoring, true, ThreadSafe.InvokeProperty.Enabled, ThreadSafe.InvokeMethod.SET); if (e.Result.ToString().StartsWith("ENOENT - Proccess Not Found")) { GC.Collect(); ProccessGrabber.RunWorkerAsync("catch-start --retry"); } else if (e.Result.ToString() == "SUCCESS !") { ThreadSafe.Invoke(this, label1, String.Empty, ThreadSafe.InvokeProperty.Text, ThreadSafe.InvokeMethod.SET); TaskBarFlash.Flash(this); GC.Collect(); return; } }
private void GetAllProc_Click(object sender, EventArgs e) { TreeDisplay1.Nodes.Clear(); NodeClickAction = NodeClickEvent.UseAsProccess; ProccessGrabber.RunWorkerAsync("list-all"); }