Beispiel #1
0
        private void FullScreen(IntPtr targeHandler, int displayIndex = 0)
        {
            //var tmp = User32Wrapper.MonitorFromWindow(targeHandler, User32Wrapper.MONITOR_DEFAULTTONEAREST);
            //MONITORINFO info = new MONITORINFO();

            //bool ok = User32Wrapper.GetMonitorInfo(tmp, info);
            //if (!ok)
            //    return null;

            //ok = User32Wrapper.GetWindowRect(_targeHandler, out RECT react);

            //ok = User32Wrapper.SetWindowPos(targeHandler, info.rcMonitor);
            //return react;

            var displays = User32Wrapper.GetDisplays();

            if (displays == null)
            {
                return;
            }
            var display = displays[displayIndex];

            User32Wrapper.MapWindowPoints(IntPtr.Zero, _workerw, ref display.rcMonitor, 2);
            var ok = User32Wrapper.SetWindowPos(targeHandler, display.rcMonitor);

            return;
        }
Beispiel #2
0
        private static void FullScreen(IntPtr targeHandler, Rectangle bounds, IntPtr workerw)
        {
            RECT rect = new RECT(bounds);

            User32Wrapper.MapWindowPoints(IntPtr.Zero, workerw, ref rect, 2);
            _ = User32WrapperEx.SetWindowPosEx(targeHandler, rect);
        }
        private static void FullScreen(IntPtr targeHandler, Screen displayScreen)
        {
            RECT rect = new RECT(displayScreen.Bounds);

            User32Wrapper.MapWindowPoints(IntPtr.Zero, _workerw, ref rect, 2);
            var ok = User32WrapperEx.SetWindowPosEx(targeHandler, rect);

            return;
        }
        public static void FullScreen(IntPtr targeHandler, RECT rect, IntPtr parent)
        {
            User32Wrapper.MapWindowPoints(IntPtr.Zero, parent, ref rect, 2);
            _ = User32WrapperEx.SetWindowPosEx(targeHandler, rect);

            var style = User32Wrapper.GetWindowLong(targeHandler, WindowLongFlags.GWL_STYLE);

            //https://stackoverflow.com/questions/2398746/removing-window-border
            //消除游戏边框
            style &= ~(int)(WindowStyles.WS_EX_TOOLWINDOW | WindowStyles.WS_CAPTION | WindowStyles.WS_THICKFRAME | WindowStyles.WS_MINIMIZEBOX | WindowStyles.WS_MAXIMIZEBOX | WindowStyles.WS_SYSMENU);
            User32Wrapper.SetWindowLong(targeHandler, WindowLongFlags.GWL_STYLE, style);
        }