どのモニターが接続され、どの解像度で実行されているかを確認するために、どのようにウィンドウをポーリングしますか?
3 に答える
C#の場合:Screen
クラス単一システム上の1つまたは複数のディスプレイデバイスを表します。Bounds
属性が必要です。
foreach(var screen in Screen.AllScreens)
{
// For each screen, add the screen properties to a list box.
listBox1.Items.Add("Device Name: " + screen.DeviceName);
listBox1.Items.Add("Bounds: " + screen.Bounds.ToString());
listBox1.Items.Add("Type: " + screen.GetType().ToString());
listBox1.Items.Add("Working Area: " + screen.WorkingArea.ToString());
listBox1.Items.Add("Primary Screen: " + screen.Primary.ToString());
}
Screenクラスを使用します。
アレイ内のすべてのモニターを表示Screen.AllScreens
し、プロパティを使用して各モニターの解像度と位置を確認できBounds
ます。
一部のビデオカードは、2つのモニターを1つの非常にワイドな画面にマージするため、Windowsはモニターが1つだけであると見なします。必要に応じて、画面の幅が高さの2倍を超えているかどうかを確認できます。もしそうなら、それはおそらく水平スパンであり、2つの等しい画面として扱うことができます。ただし、これはより複雑であり、実行する必要はありません。垂直スパンもサポートされていますが、あまり一般的ではありません。
http://msdn.microsoft.com/en-us/magazine/cc301462.aspx
GetSystemMetricsは、アイコンのサイズやウィンドウのキャプションの高さなど、あらゆる種類のグローバルディメンションを取得するために使用できる便利な関数です。Windows 2000には、複数のモニターシステムの画面の仮想サイズを取得するためのSM_CXVIRTUALSCREENやSM_CYVIRTUALSCREENなどの新しいパラメーターがあります。Windowsの初心者、そしてプロも、GetSystemMetricsのドキュメントをチェックして、取得できるさまざまなシステムメトリック(ディメンション)をすべて確認する必要があります。最新のプラットフォームSDKについては、http://msdn.microsoft.com/library/en-us/sysinfo/sysinfo_8fjn.aspを参照してください。GetSystemMetricsは、頻繁に使用する必要のある便利な関数であり、Windowsのすべてのバージョンで新しいものが表示されます。