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);
            }
        }
Esempio n. 2
0
            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);
            }
        }
Esempio n. 4
0
        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;
            }
        }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
        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)
         );
 }
Esempio n. 11
0
 private static extern bool EnumWindows(WindowEnumerator lpEnumFunc, ArrayList lParam);
Esempio n. 12
0
 static HwndInfo[] GetVisibleChildWindowsNotInProcess(IntPtr hWnd, int pid)
 {
     return(WindowEnumerator.GetOutOfProcessVisibleChildWindows(hWnd));
 }
Esempio n. 13
0
 static HwndInfo[] GetTopLevelVisibleWindows(Process process)
 {
     return(WindowEnumerator.GetTopLevelVisibleWindows(process));
 }
Esempio n. 14
0
 internal static extern int EnumChildWindows(IntPtr hwnd,
     WindowEnumerator del, IntPtr lParam);