ウィンドウ位置を取得、設定する

取得はGetWindowPlacement()で、設定はGetWindowPlacement()で行う。それぞれWINDOWPLACEMENT構造体を利用する。

typedef struct tagWINDOWPLACEMENT {
    UINT  length;           // 構造体のサイズ
    UINT  flags;            // よくわからない
    UINT  showCmd;          // ウィンドウ表示状態
    POINT ptMinPosition;    // 最小化時の位置
    POINT ptMaxPosition;    // 最大化時の位置
    RECT  rcNormalPosition; // 通常時の位置
#ifdef _MAC
    RECT  rcDevice;         // デバイス上の位置?
#endif
} WINDOWPLACEMENT;
typedef WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT;

flagsWPF_RESTORETOMAXIMIZEDを指定すると、最小化状態から戻る際に自動的に最大化され、またWPF_SETMINPOSITIONを指定すると、最小化状態の位置をptMinPositionで指定できるようになる……のかな?
showCmdShowWindow()nCmdShowに同じ。