タイトル : Re: 選択可能な画面解像度の取得 投稿日 : 2010/02/17(Wed) 01:38 投稿者 : 魔界の仮面弁士
> C#(.NET)2005です。 ここは VB.NET の掲示板ですよ。 > .NETでの選択可能な画面解像度の取得ですが > 調べましたが分かりませんでした。 VB の掲示板なので、あえて VB で回答するとこんな感じ。 Imports Microsoft.DirectX.Direct3D Public Class Form1 Private Sub Button1_Click(ByVal sender As Object, _ ByVal e As EventArgs) Handles Button1.Click ListBox1.BeginUpdate() For Each adp As AdapterInformation In Manager.Adapters With adp.Information ListBox1.Items.Add(String.Format("=== {0}, {1} ({2}) ===", _ .DeviceId, .DeviceName, .Description)) End With For Each mode As DisplayMode In adp.SupportedDisplayModes ListBox1.Items.Add(String.Format("{0,5:#,0} x {1,5:#,0} : {2}Hz : {3}", _ mode.Width, mode.Height, mode.RefreshRate, mode.Format)) Next Next ListBox1.EndUpdate() End Sub End Class C# での実装例は、たとえば下記にあります。参照設定を忘れずに。 http://www.atelier-blue.com/program/mdirectx/3d/3d02-05.htm あとは関係あるかどうか確認していませんが…WMI の MSMonitorClass クラス近辺とか? http://msdn.microsoft.com/en-us/library/aa392399.aspx > WinAPIを使うしかありませんでしょうか? API の場合には、EnumDisplaySettings を利用できます。 その他の手法としては、COM 版の DirectX 8 for Visual Basic Type Library から、 Direct3D8 の EnumAdapterModes メソッドで列挙する手もあります。 |