public bool ShowDialog(IDictionary <int, object> processes, out object selectedProcess) { Processes.AddRange(processes.Select(p => new RunningApplication(p))); var result = View.ShowDialog() == true; selectedProcess = SelectedProcess != null && result ? SelectedProcess.ComObject : null; return(result); }
private void Window_Loaded(object sender, RoutedEventArgs e) { var process = Process.GetCurrentProcess(); var processes = Process.GetProcesses() .Where(x => x.MainWindowHandle.ToInt32() != 0) .Where(x => x.Id != process.Id) .OrderBy(x => x.ProcessName) .ToList(); Processes.Clear(); Processes.AddRange(processes); }
/// <summary> /// Refresh the processes. /// </summary> private void OnRefresh() { Processes.Clear(); Processes.AddRange(Process.GetProcessesByName(ProcessName) .ToList()); if (Processes.Count > 0) { return; } Processes.AddRange(Process.GetProcesses() .Where(x => !string.IsNullOrWhiteSpace(x.MainWindowTitle)) .ToList()); }
public Pipeline AddToBegin(IProcess process) { RWLock.EnterWriteLock(); try { var tmp = Processes.ToList(); Processes.Clear(); Processes.Add(process); Processes.AddRange(tmp); TryImportSpecialCases(process); } finally { RWLock.ExitWriteLock(); } return(this); }
/// <summary>, /// Refresh the processes. /// </summary> private void OnRefresh() { Processes.Clear(); Processes.AddRange(Process.GetProcesses() .Where(x => { var isNotEmpty = !string.IsNullOrWhiteSpace(x.MainWindowTitle); try { var hasFFXIMain = (from ProcessModule m in x.Modules where m.ModuleName.ToLower() == "ffximain.dll" select m).FirstOrDefault() != null; return(isNotEmpty && hasFFXIMain); } catch { return(false); } return(isNotEmpty); }) .ToList()); }