diff --git a/src/Shared/HandyControl_Shared/Tools/Interop/InteropMethods.cs b/src/Shared/HandyControl_Shared/Tools/Interop/InteropMethods.cs index 7fc72dd9..f34b9b72 100644 --- a/src/Shared/HandyControl_Shared/Tools/Interop/InteropMethods.cs +++ b/src/Shared/HandyControl_Shared/Tools/Interop/InteropMethods.cs @@ -306,7 +306,7 @@ namespace HandyControl.Tools.Interop internal static InteropValues.WINDOWPLACEMENT GetWindowPlacement(IntPtr hwnd) { - InteropValues.WINDOWPLACEMENT wINDOWPLACEMENT = new InteropValues.WINDOWPLACEMENT(); + InteropValues.WINDOWPLACEMENT wINDOWPLACEMENT = InteropValues.WINDOWPLACEMENT.Default; if (GetWindowPlacement(hwnd, wINDOWPLACEMENT)) { return wINDOWPLACEMENT; diff --git a/src/Shared/HandyControl_Shared/Tools/Interop/InteropValues.cs b/src/Shared/HandyControl_Shared/Tools/Interop/InteropValues.cs index 78ef2903..51cb5463 100644 --- a/src/Shared/HandyControl_Shared/Tools/Interop/InteropValues.cs +++ b/src/Shared/HandyControl_Shared/Tools/Interop/InteropValues.cs @@ -364,12 +364,26 @@ namespace HandyControl.Tools.Interop [StructLayout(LayoutKind.Sequential)] internal struct WINDOWPLACEMENT { - public int length = Marshal.SizeOf(typeof(WINDOWPLACEMENT)); + + public int length; public int flags; public SW showCmd; public POINT ptMinPosition; public POINT ptMaxPosition; public RECT rcNormalPosition; + + /// + /// Gets the default (empty) value. + /// + public static WINDOWPLACEMENT Default + { + get + { + WINDOWPLACEMENT result = new WINDOWPLACEMENT(); + result.length = Marshal.SizeOf(result); + return result; + } + } } [StructLayout(LayoutKind.Sequential, Pack = 4)]