private void initProcess() { var processes = Process.GetProcesses(); for (int i = 0; i < processes.Length; i++) { ProcessMyList.Add(new ProcessMy(processes[i])); } }
private void update() { ProcessThread tmpProcessThread = _selectedThreadsMy; var processes = Process.GetProcesses(); for (int i = 0; i < processes.Length; i++) { if (ProcessMyList[i].CompareTo(processes[i])) { ProcessMyList[i].refresh(processes[i]); } else { ProcessMyList.Insert(i, new ProcessMy(processes[i])); } } bool add; int oldd = ProcessMyList.Count; int neww = processes.Length; for (int j = 0; j < neww; j++) { add = true; for (int i = 0; i < oldd; i++) { if (ProcessMyList[i].CompareTo(processes[j])) { ProcessMyList[i].isChcecked = true; add = false; break; } } if (add) { ProcessMyList.Add(new ProcessMy(processes[j])); ProcessMyList[ProcessMyList.Count - 1].isChcecked = true; } } List <int> remove = new List <int>(); for (int i = 0; i < ProcessMyList.Count; i++) { if (ProcessMyList[i].isChcecked == false) { remove.Add(i); } else { ProcessMyList[i].isChcecked = false; } } for (int i = remove.Count - 1; i >= 0; i--) { ProcessMyList.RemoveAt(remove[i]); } if (SelectedProcessMy != null) { for (int i = 0; i < _selectedProcessMy.threadsList.Count; i++) { if (_selectedProcessMy.threadsList[i].Id == tmpProcessThread.Id) { SelectedThreadMy = _selectedProcessMy.threadsList[i]; break; } } } }