C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 121 を表示中)
■72700 / )  Re[3]: C++(MFC)でモニタ情報の取得
□投稿者/ とっちゃん (242回)-(2014/07/07(Mon) 18:18:17)
とっちゃん さんの Web サイト
No72685 (nobb さん) に返信
>>モニター情報を取得して何がしたいのかを書くともう少し望む回答が得られるかもしれません。
> ユーザーのPC環境を表示し、それを送ってもらえるアプリケーションの修正中です。
> その際、「解像度も出して!」と言われたので、解像度を出そう。
> でも、小さな解像度で使用してたら?じゃあ、モニターの型番でユーザーが使用可能な解像度が判断できるかな?
> と思ったのでその部分の実験をしていました。
>
モニターの型番がわかっても、現在の解像度は分かりませんよ?

アプリに求められているものは、その環境で表示できる最大解像度の調査ですか?
そうではなく、現在の解像度の取得なのではありませんか?
小さな解像度の環境で利用していたとしても、その解像度を取得しないと意味がないのではありませんか?


表示可能な最大解像度と、現在の画面の解像度は必ず一致するというものではありません。
モニターが小さいから、解像度をピクセル面積を大きくして見やすくしているというご高齢の方もいらっしゃいます。

たとえば複数のモニターが接続されていても、片方しか表示していないということもあります(スクリーンに接続しているかもフラグで取れてますよね)。
実際にうちの開発メンバーがそういう状態にして使っていたことがあります(今はいないと思いますけど...)。

Win7とかになると、拡張画面で、2枚のモニターで同じ画像を出す(スクリーン上の座標は同じ)という機能もあります。
この形の場合、たとえモニターが1000枚つながっていたとしても、全部同じ画面なので、プログラム的にはモニターは1つとみなされます。

アプリに求められているものは、
実際の接続モニター数、モニターごとの現在の解像度、モニターごとのスクリーン表示位置(仮想スクリーン上の表示領域、含まれていないならそれなりに...)
というあたりではないのでしょうか?
拡張画面で複数接続されている状況も場合によっては必要かもしれませんね。
そのあたりもすでに取り出せていると思います。

若しくは、そのアプリが添付されている製品にとって必要になるモニタ情報なのでは?

返信 編集キー/


管理者用

- Child Tree -