コード例 #1
0
ファイル: CodePane.cs プロジェクト: shairad/Rubberduck
        private void ForceFocus()
        {
            if (IsWrappingNullReference)
            {
                return;
            }
            Show();

            var window            = VBE.MainWindow;
            var mainWindowHandle  = window.Handle();
            var caption           = Window.Caption;
            var childWindowFinder = new ChildWindowFinder(caption);

            NativeMethods.EnumChildWindows(mainWindowHandle, childWindowFinder.EnumWindowsProcToChildWindowByCaption);
            var handle = childWindowFinder.ResultHandle;

            if (handle != IntPtr.Zero)
            {
                NativeMethods.ActivateWindow(handle, mainWindowHandle);
            }
            else
            {
                System.Diagnostics.Debug.WriteLine("CodePane.ForceFocus() failed to get a handle on the MainWindow.");
            }
        }
コード例 #2
0
        private void ForceFocus()
        {
            Show();

            var window            = VBE.MainWindow;
            var mainWindowHandle  = window.Handle();
            var caption           = Window.Caption;
            var childWindowFinder = new ChildWindowFinder(caption);

            NativeMethods.EnumChildWindows(mainWindowHandle, childWindowFinder.EnumWindowsProcToChildWindowByCaption);
            var handle = childWindowFinder.ResultHandle;

            if (handle != IntPtr.Zero)
            {
                NativeMethods.ActivateWindow(handle, mainWindowHandle);
            }
        }
コード例 #3
0
 public ChildWindowFinderTests()
 {
     finder = ChildWindowFinder.FindWindowClass(windowClass);
 }
コード例 #4
0
ファイル: WindowsUtils.cs プロジェクト: zfybs/eZstd
        /// <summary>
        /// 搜索父窗口(或控件)中指定类名与窗口文本的子窗口。如果没有匹配到指定类名与文本的子窗口,则返回 new IntPtr(0)
        /// </summary>
        /// <param name="hwndParent">父窗口(或控件)的句柄</param>
        /// <param name="className">要匹配的窗口类名,如果不需要匹配,则输入null</param>
        /// <param name="windowText">要匹配的窗口文本,如果不需要匹配,则输入null</param>
        /// <returns>如果没有匹配到指定类名与文本的子窗口,则返回 new IntPtr(0)</returns>
        public static IntPtr FindChildWindow(IntPtr hwndParent, string className, string windowText)
        {
            ChildWindowFinder cwf = new ChildWindowFinder();

            return(cwf.FindChild(hwndParent, className, windowText));
        }