解像度の変更 解像度の変更は以下の様にします。 有効なディスプレイの解像度は EnumDisplaySettings によって調べることが出来ます。 次に再起動するまで変更した解像度,つまり再起動したときには元の解像度に戻す ということをした場合には ChangeDisplaySettings(&ExistDisplayMode, CDS_UPDATEREGISTRY); を実行しないと大丈夫です. もしも,壁紙を中央に配置したいのにずれた位置に配置された場合は”壁紙の設定”を参照してもう一度壁紙を設定し直すことを実装してください. DWORD DisplayWidth; //画面の幅 DWORD DisplayHeight; //画面の高さ DWORD DisplayBits; //1ピクセル当たりのビット数 DEVMODE ExistDisplayMode; DWORD i; i=0; //存在する解像度かどうかをチェックしてから変更する while(EnumDisplaySettings(NULL,i,&ExistDisplayMode)) { if((ExistDisplayMode.dmPelsWidth == DisplayWidth) && (ExistDisplayMode.dmPelsHeight == DisplayHeight) && (ExistDisplayMode.dmBitsPerPel == DisplayBits)) { //ディスプレイの解像度の変更 if(ChangeDisplaySettings(&ExistDisplayMode,CDS_FULLSCREEN)==DISP_CHANGE_SUCCESSFUL) { //RegistoryのUpdate ChangeDisplaySettings(&ExistDisplayMode, CDS_UPDATEREGISTRY); } else //成功以外は元に戻す { ChangeDisplaySettings(NULL,0); } return; } i++; } }