public static bool SuspendProcess(int PID) { if (ProcessDataList.First(x => x.ID == PID).IsProtected) { return(false); } bool success = false; Application.Current.Dispatcher.BeginInvoke(new Action(() => { try { success = PInvokes.DebugActiveProcess(Convert.ToUInt32(PID)); if (success) { SuspendedProcessList.Add(ProcessDataList.First(x => x.ID == PID)); ((MainWindow)Application.Current.MainWindow).SuspendedProcesses.UpdateViewSource(); } } catch { } })).Wait(); return(success); }