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; }
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; }
public static extern IntPtr SendMessage(IntPtr hWnd, WmMessage Msg, IntPtr wParam, IntPtr lParam);
public static extern IntPtr DefWindowProc(IntPtr hWnd, WmMessage uMsg, IntPtr wParam, IntPtr lParam);