現在の画面解像度を取得する方法: WinAPI からのオプション
Windows の現在の画面解像度を決定することは、全画面 OpenGL を開始するときに重要です。デスクトップと同じサイズのウィンドウ。 WinAPI メソッドを使用して画面解像度を検出するための包括的なガイドは次のとおりです:
-
プライマリ モニター解像度:
- 幅と高さをピクセル単位で取得しますGetSystemMetrics(SM_CXSCREEN) と GetSystemMetrics(SM_CYSCREEN) を使用します。
- または、水平解像度と垂直解像度にそれぞれ GetDeviceCaps(screen_hdc, HORZRES) と GetDeviceCaps(screen_hdc, VERTRES) を使用します。
-
すべてのモニターの組み合わせ解像度:
- 合計の幅と高さには GetSystemMetrics(SM_CXVIRTUALSCREEN) と GetSystemMetrics(SM_CYVIRTUALSCREEN) を使用します。
-
作業領域の解像度 (タスクバーを除く):
- SystemParametersInfo(SPI_GETWORKAREA, sizeof(RECT), &rect_ptr を呼び出して作業領域の寸法を取得します、0) を取得し、幅と高さのrect_ptr値を抽出します。
-
特定のモニター解像度:
- GetMonitorInfoを使用します。 () 適切な HMONITOR を使用して、作業領域と全画面サイズの両方を取得します。
追加の考慮事項:
- モニターの座標は常に 0,0 から始まるとは限らないことに注意してください。 GetMonitorInfo() を使用する前に、MonitorFromWindow() を使用してウィンドウのアクティブなモニターを見つけます。
- 画面の解像度を変更したり、リフレッシュ レートを取得するには、EnumDisplayDevices()、EnumDisplaySettings()、 ChangeDisplaySettings().
- GetDeviceCaps() は色深度情報も提供できます。
以上が質問の形式と、画面解像度の WinAPI メソッドに焦点を当てた記事を念頭に置いて、タイトルのオプションをいくつか示します。
オプション 1 (直接的かつ具体的):
* 画面解像度の取得方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。