ウィンドウの位置を保存する

レジストリまたは .INI ファイルの指定のセクションにバイナリ データを書き込む。
WriteProfileBinaryを使います。
OSのバージョンによって格納先が変わります。

  • Windows NT では、レジストリ キーに格納されます。
  • Windows 3.x では、WIN.INI ファイルに格納されます。
  • Windows 95/98 では、キャッシュされた WIN.INI ファイルに格納されます。
WINDOWPLACEMENT wp;
GetWindowPlacement(&wp);	//ウィンドウの位置を取得
AfxGetApp()->WriteProfileBinary("セクション名","エントリ名",(LPBYTE)&wp,sizeof(wp));

復元する場合、OnInit***等で

WINDOWPLACEMENT *pwp;
UINT nl;

if(AfxGetApp()->GetProfileBinary("セクション名", "エントリ名", (LPBYTE*)&pwp, &nl)){
    SetWindowPlacement(pwp);
    delete [] pwp;
}

GetProfileBinaryは内部でnewしたメモリを返してくれるようです。
MSDNでは、呼び出し元でdelete[]するように書かれています。