private void setProc(IntPtr proc) { this.proc = proc; IntPtr prevWindow = GetForegroundWindow(); Process prevProc = ProcessExtensions.GetProcessByHandle(prevWindow); List <Process> parents = ProcessExtensions.GetParentProcesses(prevProc.Handle); parents.Insert(0, prevProc); /* //Eh... skip this for a bit * SetForegroundWindow(proc); * GetForegroundWindow(); * * for (int ix = 0; ix < parents.Count; ix++) * { * Process parent = ProcessExtensions.GetProcessByHandle(parents[ix].MainWindowHandle); * if(parent != null) * { * string title = parent.MainWindowTitle; * SetForegroundWindow(parent.MainWindowHandle); * IntPtr newFocus = GetForegroundWindow(); * if(newFocus == parent.MainWindowHandle) * { * break; * } * } * } */ }
public string getTitle() { return(ProcessExtensions.GetProcessByHandle(Handle, procName).MainWindowTitle); }
public static void SendSignal(this AccessCommandPrompt prompt, ConsoleCtrlEvent signal) { GenerateConsoleCtrlEvent(signal, ProcessExtensions.GetProcessByHandle(prompt.Handle).Id); }