getwindowplacement (user32)
Last changed: -73.47.171.17

.
Summary

C# Signature:

[DllImport("user32.dll")]
static extern bool GetWindowPlacement(IntPtr hWnd,
   ref WINDOWPLACEMENT lpwndpl);

VB Signature:

<DllImport("user32.dll")> _
Public Shared Function GetWindowPlacement( _
    ByVal hWnd As IntPtr, _
    ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
End Function

User-Defined Types:

None.

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

public class Sample
{

    [DllImport("user32.dll")] static extern bool GetWindowPlacement(IntPtr hWnd, ref WINDOWPLACEMENT lpwndpl);

    private struct POINTAPI
    {
        public int x;
        public int y;
    }

    private struct RECT
    {
        public int left;
        public int top;
        public int right;
        public int bottom;
    }

    private struct WINDOWPLACEMENT
    {
        public int length;
        public int flags;
        public int showCmd;
        public POINTAPI ptMinPosition;
        public POINTAPI ptMaxPosition;
        public RECT rcNormalPosition;
    }

...

    private void GetPlacement()
    {
       WINDOWPLACEMENT placement = new WINDOWPLACEMENT();
       placement.length = Marshal.SizeOf(placement);
       GetWindowPlacement(this.Handle, ref placement);
    }
}

Alternative Managed API:

The ManagedWindowsApi project (http://mwinapi.sourceforge.net) provides a

class ManagedWinapi.SystemWindow that has a Position property.

Documentation