ウィンドウを最後の編集セッションの場所に再配置およびサイズ変更することはめったにありません。これは、ファイルごとに記録する必要があります (アプリケーションの最後の編集セッションの単一の記録ではありません)。
私のアプリでは、ウィンドウの位置、サイズ、および (アプリによっては) ファイル内の位置、最後の入力フィールド/コントロール、または編集コンテキストを復元するためのその他の情報を記録する設定ファイルを作成します。
これは、ユーザーごとに個別に記録する必要があります (ファイルが別のユーザーと共有されているか、別のコンテキストで編集されている場合、別のユーザーがウィンドウを望ましくない位置に移動する可能性があるため、位置をファイルに記録しないでください)。 Windows の場合、これをユーザーのローカル設定フォルダーに置きます (レジストリには入れないでください)。UNIX の場合、これを ~home/.app ディレクトリに置きます。私は通常、アプリケーション プログラムごとに 1 つのファイルを作成し (アプリがその位置設定を簡単に見つけられるように)、各ファイル (または編集セッション) ごとに 1 つのレコード エントリを用意します。私はこれに XML を絶対に使用しません (単純な形式のテキストまたはバイナリ ファイルを使用します)。
ユーザーは、保存されたウィンドウの位置 (つまり、アプリのツール/オプション/設定メニュー) をすべて簡単にクリア/リセットできる必要があります。また、ウィンドウが画面外に配置された場合 (つまり、デスクトップのサイズが変更されたり、切断された複数のモニター上にあった場合) を処理するようにしてください。ウィンドウをデスクトップに戻す必要がある場合があります。