public AdvancedProcessInfo GetParentProcessInfo(AdvancedProcessInfo processInfo)
        {
            if (processInfo.Id == 0)
            {
                return(null);
            }

            return(_allProcesses.FirstOrDefault(x => x.Id == processInfo.ParentProcess));
        }
        public void ResumeProcess(AdvancedProcessInfo processInfo)
        {
            LogService.Send(string.Format((string)Application.Current.Resources["ResumeProcessSent"], processInfo.Name,
                                          processInfo.Id));
            var package = new List <byte> {
                (byte)TaskManagerCommunication.ResumeProcess
            };

            package.AddRange(BitConverter.GetBytes(processInfo.Id));
            ConnectionInfo.SendCommand(this, package.ToArray());
        }
        public void CloseWindow(AdvancedProcessInfo processInfo)
        {
            var package = new List <byte> {
                (byte)TaskManagerCommunication.WindowClose
            };

            package.AddRange(BitConverter.GetBytes(processInfo.MainWindowHandle));
            ConnectionInfo.SendCommand(this, package.ToArray());
            LogService.Send(string.Format((string)Application.Current.Resources["SendCloseWindow"],
                                          processInfo.MainWindowHandle));
        }
        public void SetProcessPriority(AdvancedProcessInfo processInfo, ProcessPriorityClass priority)
        {
            LogService.Send(string.Format((string)Application.Current.Resources["SetProcessPriority"], processInfo.Name,
                                          processInfo.Id, priority));
            var package = new List <byte> {
                (byte)TaskManagerCommunication.SetPriority
            };

            package.AddRange(BitConverter.GetBytes(processInfo.Id));
            package.AddRange(BitConverter.GetBytes((int)priority));
            ConnectionInfo.SendCommand(this, package.ToArray());
        }