示例#1
0
        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);
        }