画面サイズが 600 ではなく 611 と報告される理由を誰かが知っている可能性が低いので、ここに投稿しています。
GetSystemMetrics(SM_CYFULLSCREEN)
611 を返します。私のネットブックは 1024x600 なので、611 ではなく 600 を期待していました。
1024x611 でググっても、驚くほど多くの結果が得られます。
画面サイズが 600 ではなく 611 と報告される理由を誰かが知っている可能性が低いので、ここに投稿しています。
GetSystemMetrics(SM_CYFULLSCREEN)
611 を返します。私のネットブックは 1024x600 なので、611 ではなく 600 を期待していました。
1024x611 でググっても、驚くほど多くの結果が得られます。
SM_CXFULLSCREEN と SM_CYFULLSCREENはフル スクリーン ウィンドウのサイズを返すため、通常はタスクバーが原因で画面サイズよりも小さくなります。
プライマリ ディスプレイ モニターのフルスクリーン ウィンドウのクライアント領域の幅 (ピクセル単位)。システム タスクバーまたはアプリケーション デスクトップ ツールバーによって隠されていない画面の部分の座標を取得するには、SPI_GETWORKAREA 値を指定して SystemParametersInfo 関数を呼び出します。
SystemParametersInfo の SPI_GETWORKAREA がディスプレイに返すものと比較してください。または、コントロール パネルでディスプレイが何に設定されていますか??
1024x640 の画面は真の 16:10 の比率であり、利用可能なデスクトップ サイズは ~ 611 になります。
他のフォーラム スレッドから、GetSystemMetrics(SM_CYFULLSCREEN)
常に期待される結果が返されるとは限らないようです。調整されているようで、希望する値ではない可能性があります。
を使用してみてGetSystemMetrics(SM_CYSCREEN)
ください。プライマリ モニターのサイズが返されます。
(また、複数のモニターを使用する人もいることに注意してください。アプリケーションを単一のモニターに制限しないように注意してください)