示例#1
0
        public bool IsAppWindow()
        {
            if (IsVisibleWindow())
            {
                var stylex = WindowsMethods.GetWindowLong(Handle, WindowsMethods.GWL_ExStyle);
                if (WindowsMethods.WSEX_ApplicationWindow != (stylex & WindowsMethods.WSEX_ApplicationWindow))
                {
                    var style = WindowsMethods.GetWindowLong(Handle, WindowsMethods.GWL_Style);
                    if (IntPtr.Zero.Equals(WindowsMethods.GetWindowLongish(Handle, WindowsMethods.GWL_HWndParent)) &&
                        IntPtr.Zero.Equals(WindowsMethods.GetWindow(Handle, WindowsMethods.GW_Owner)) &&
                        WindowsMethods.WS_Child != (style & WindowsMethods.WS_Child))
                    {
                        if (WindowsMethods.WSEX_ToolWindow == (stylex & WindowsMethods.WSEX_ToolWindow))
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
                var windowClass = WindowsMethods.GetClassName(Handle);

                if (windowClass.Equals("WindowsScreensaverClass") || windowClass.Equals("tooltips_class32"))
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
            return(true);
        }
示例#2
0
 public ControlHandle(IntPtr handle)
 {
     Handle = handle;
     Title  = WindowsMethods.GetWindowCaption(handle);
     Class  = WindowsMethods.GetClassName(handle);
 }
示例#3
0
 private string GetClassName()
 {
     return(WindowsMethods.GetClassName(this));
 }