ホームページ >バックエンド開発 >C++ >WinAPI を使用して画面解像度を取得するにはどうすればよいですか?

WinAPI を使用して画面解像度を取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-27 04:04:30210ブラウズ

How Can I Get the Screen Resolution Using WinAPI?

WinAPI を使用した画面解像度の取得

WinAPI には、現在の画面解像度を決定するための関数がいくつか存在します。適切な選択は特定の要件によって異なります。

表示サイズの取得

  • プライマリ モニター: GetSystemMetrics(SM_CXSCREEN) および GetSystemMetrics( SM_CYSCREEN) を使用して、プライマリ モニターの幅と高さを取得します。
  • すべてのモニター: GetSystemMetrics(SM_CXVIRTUALSCREEN) および GetSystemMetrics(SM_CYVIRTUALSCREEN) は、接続されているすべてのモニターの結合解像度を提供します。
  • 作業領域: SystemParametersInfo(SPI_GETWORKAREA) は、ツールバーやその他のコントロールが占める領域を除く、プライマリ モニター上の作業領域の解像度を返します。

特定のモニター解像度

特定のモニターの解像度を取得するには、GetMonitorInfo を使用します。この関数には、MonitorFromWindow を使用して取得できるモニターへのハンドルが必要です。

Advanced Display Information

低レベルのアクセスまたはディスプレイ設定の変更のために、WinAPI は以下を提供します。 EnumDisplayDevices、EnumDisplaySettings、ChangeDisplaySettings などの関数。これらにより、リフレッシュ レート、色深度の取得、表示設定の変更が可能になります。

注: モニターは常に (0, 0) 座標から始まるとは限らないことを考慮することが重要です。ウィンドウを正しく配置するには、MonitorFromWindow を使用してウィンドウが配置されているモニターを特定し、GetMonitorInfo を呼び出してモニターの解像度とオフセットを取得します。

以上がWinAPI を使用して画面解像度を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。