Dxライブラリを使用したゲームを作成していて、プログラム終了時の画面位置を記憶したいと思っています。
これについて、GetWindowPosition関数を使えば実現できそうだと思い、確認してみました。
下記のコードで、プログラム中からメインループを抜けた場合は正しく位置を取得できたのですが、
ウィンドウを直接(ウィンドウ右上の☓等で)閉じた場合は期待した結果になりませんでした。
解決方法をご存知の方、ご教示ください。よろしくお願いします。
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定
int x0,y0;
int x1,y1;
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
GetWindowPosition( &x0, &y0 );
if( CheckHitKeyAll() ) break;
}
GetWindowPosition( &x1, &y1 );
char buf[256];
sprintf(buf,"%d",x0);
WritePrivateProfileString("WindowPos","X0",buf,"./setting.ini");
sprintf(buf,"%d",x1);
WritePrivateProfileString("WindowPos","X1",buf,"./setting.ini");
DxLib_End(); // DXライブラリ終了処理
return 0;
}