public static Option <IntPtr> GetWindowHandleByProcessName(string processName) { var windowHandle = IntPtr.Zero; foreach (var pList in Process.GetProcesses()) { if (pList.ProcessName.Equals(processName, StringComparison.CurrentCultureIgnoreCase)) { windowHandle = pList.MainWindowHandle; break; } } if (windowHandle == IntPtr.Zero) { return(FunctionalExtensions.None()); } return(FunctionalExtensions.Some(windowHandle)); }
public static Option <IntPtr> GetWindowHandleByWindowTitle(string windowName) { var windowHandle = IntPtr.Zero; foreach (var pList in Process.GetProcesses()) { if (pList.MainWindowTitle.Contains(windowName)) { windowHandle = pList.MainWindowHandle; break; } } if (windowHandle == IntPtr.Zero) { return(FunctionalExtensions.None()); } return(FunctionalExtensions.Some(windowHandle)); }