コード例 #1
0
        public override void Handler(ref WmMessage wmMessage)
        {
            var mmi         = Marshal.PtrToStructure <MINMAXINFO>(wmMessage.LParam);
            var maxPosition = MaxWindowPosition(wmMessage.Hwnd);

            mmi.ptMaxPosition.X = maxPosition.X;
            mmi.ptMaxPosition.Y = maxPosition.Y;
            mmi.ptMaxSize.X     = maxPosition.Width;
            mmi.ptMaxSize.Y     = maxPosition.Height;

            Marshal.StructureToPtr(mmi, wmMessage.LParam, true);

            wmMessage.Handled = true;
        }
コード例 #2
0
        public override void Handler(ref WmMessage wmMessage)
        {
            var windowPlacement = new WINDOWPLACEMENT {
                length = Marshal.SizeOf <WINDOWPLACEMENT>()
            };
            var IsMaximizeWindowState = GetWindowPlacement(wmMessage.Hwnd, ref windowPlacement);

            if (windowPlacement.showCmd != SW_MAXIMIZE)
            {
                return;
            }

            var wp          = Marshal.PtrToStructure <WINDOWPOS>(wmMessage.LParam);
            var maxPosition = MaxWindowPosition(wmMessage.Hwnd);

            wp.x  = maxPosition.X;
            wp.y  = maxPosition.Y;
            wp.cx = maxPosition.Width;
            wp.cy = maxPosition.Height;

            SetWindowPos(wp.hwnd, wp.hwndInsertAfter, wp.x, wp.y, wp.cx, wp.cy, wp.flags);

            wmMessage.Handled = false;
        }
コード例 #3
0
ファイル: Win32Sharp.cs プロジェクト: rurbina/win32-sharp
		public static extern IntPtr SendMessage(IntPtr hWnd, WmMessage Msg, IntPtr wParam, IntPtr lParam);
コード例 #4
0
ファイル: Win32Sharp.cs プロジェクト: rurbina/win32-sharp
		public static extern IntPtr DefWindowProc(IntPtr hWnd, WmMessage uMsg, IntPtr wParam, IntPtr lParam);