private void button1_Click(object sender, EventArgs e) { Process yourProcess = Process.GetProcessesByName("notepad"); Dictionary <IntPtr, string> windows = (Dictionary <IntPtr, string>)WindowEnumerator.GetOpenWindowsFromPID(yourProcess.Id); IntPtr mainWindowHandle = IntPtr.Zero; foreach (KeyValuePair <IntPtr, string> pair in windows) { if (pair.Value.ToUpperInvariant() == "Main Window Title") { mainWindowHandle = pair.Key; break; } } if (mainWindowHandle != IntPtr.Zero) { if (IsIconic(mainWindowHandle)) { ShowWindow(mainWindowHandle, 9); } SetForegroundWindow(mainWindowHandle); } }
private static ArrayList GetWindowsInner() { var windowHandles = new ArrayList(); WindowEnumerator callBackPtr = GetWindowHandle; EnumWindows(callBackPtr, windowHandles); return(windowHandles); }
public void Enumerable_WhenAllIsProper(int start, int stop, int windowSize) { var listOfNumbers = Enumerable.Range(start, stop); var windowEnumerator = new WindowEnumerator <int>(listOfNumbers, windowSize); var expectedStart = start; while (windowEnumerator.MoveNext()) { var window = windowEnumerator.Current.ToArray(); Assert.That(window.Length, Is.EqualTo(windowSize)); CollectionAssert.AreEqual(Enumerable.Range(expectedStart++, windowSize), window); } }
private static IDisposableSequence GetActiveExcelApplicationProxiesFromDesktop() { try { WindowEnumerator enumerator = new WindowEnumerator("XLMAIN"); IntPtr[] handles = enumerator.EnumerateWindows(2000); if (null == handles || handles.Length == 0) { return(new DisposableObjectList(null)); } return(ExcelApplicationWindow.GetApplicationProxiesFromHandle(handles)); } catch (Exception exception) { DebugConsole.Default.WriteException(exception); throw; } }
private static List <object> GetActiveExcelApplicationProxiesFromROT() { try { WindowEnumerator enumerator = new WindowEnumerator("XLMAIN"); IntPtr[] handles = enumerator.EnumerateWindows(2000); if (null == handles || handles.Length == 0) { return(new List <object>()); } return(ExcelApplicationWindow.GetApplicationProxiesFromHandle(handles)); } catch (Exception exception) { DebugConsole.Default.WriteException(exception); throw; } }
public void CollectWindowImageAndRecordTest() { IWindowEnumerator windowEnumerator = new WindowEnumerator(); var windowList = windowEnumerator.GetWindowList(); IDesktopWindowCollector videoDevice = new DesktopWindowCollector(); videoDevice.SetWindowHandle(windowList.First().HWD); videoEncoder.SetVideoSource(videoDevice); var audioDevice = audioDeviceManager.GetAudioDeviceById(0); aacEncoder.SetAudioDataSource(audioDevice); Record record = new Record(videoEncoder, aacEncoder); record.StartRecord(@"windowcollecttest.mp4"); Thread.Sleep(3000); record.StopRecord(); }
private static object GetActiveExcelApplicationProxyFromDesktop() { try { WindowEnumerator enumerator = new WindowEnumerator("XLMAIN"); IntPtr[] handles = enumerator.EnumerateWindows(2000); if (null == handles || handles.Length == 0) { return(null); } object proxy = ExcelApplicationWindow.GetApplicationProxyFromHandle(handles[0]); return(proxy); } catch (Exception exception) { DebugConsole.Default.WriteException(exception); throw; } }
public void WhenAllIsProper_CreateInstance() { var windowEnumerator = new WindowEnumerator <int>(new int[] { }, 10); Assert.That(windowEnumerator, Is.Not.Null); }
public void WhenWindowSizeIsLessThanOne_ThrowException(int invalidWindowSize) { Assert.Throws <WindowEnumerator <int> .Exceptions.WindowSizeMustBeGreaterThanZeroException>( () => _ = new WindowEnumerator <int>(new int[] { }, invalidWindowSize) ); }
public void WhenDataIsNotDetermined_ThrowException() { Assert.Throws <WindowEnumerator <int> .Exceptions.DataIsNotDeterminedException>( () => _ = new WindowEnumerator <int>(null, 10) ); }
private static extern bool EnumWindows(WindowEnumerator lpEnumFunc, ArrayList lParam);
static HwndInfo[] GetVisibleChildWindowsNotInProcess(IntPtr hWnd, int pid) { return(WindowEnumerator.GetOutOfProcessVisibleChildWindows(hWnd)); }
static HwndInfo[] GetTopLevelVisibleWindows(Process process) { return(WindowEnumerator.GetTopLevelVisibleWindows(process)); }
internal static extern int EnumChildWindows(IntPtr hwnd, WindowEnumerator del, IntPtr lParam);