DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

OSの様々な設定に関する情報を取得する

SystemInformationクラスの静的プロパティを参照することにより、、ウィンドウの要素のサイズ、マウス、ディスプレイ、ネットワーク、OSの設定などの細かい情報を取得することができます。

下のコード内のコメントは、「SystemInformation クラス (System.Windows.Forms)」の説明から引用しています。

VB.NET
コードを隠すコードを選択
'OSによる最小化されたウィンドウの整列方法(方向)
Console.WriteLine("ArrangeDirection:{0}", _
    SystemInformation.ArrangeDirection)

'OSによる最小化されたウィンドウの整列方法(開始位置)
Console.WriteLine("ArrangeStartingPosition:{0}", _
    SystemInformation.ArrangeStartingPosition)

'システムが起動された方法
'セーフモード等
Console.WriteLine("BootMode:{0}", _
    SystemInformation.BootMode)

'3D境界線のサイズ(ピクセル単位)
Console.WriteLine("Border3DSize:{0}", _
    SystemInformation.Border3DSize)

'ウィンドウの境界線の幅と高さ (ピクセル単位) 
Console.WriteLine("BorderSize:{0}", _
    SystemInformation.BorderSize)

'キャプション バー ボタン (タイトル バー ボタン) の
'サイズ (ピクセル単位)
Console.WriteLine("CaptionButtonSize:{0}", _
    SystemInformation.CaptionButtonSize)

'ウィンドウの標準のキャプション領域の高さ (ピクセル単位)
Console.WriteLine("CaptionHeight:{0}", _
    SystemInformation.CaptionHeight)

'現在のシステムのコンピュータ名
Console.WriteLine("ComputerName:{0}", _
    SystemInformation.ComputerName)

'カーソルのサイズ (ピクセル単位)
Console.WriteLine("CursorSize:{0}", _
    SystemInformation.CursorSize)

'オペレーティング システムが 2 バイト文字セット 
'(DBCS: Double-Byte Character Set) の文字を処理できるかどうか
Console.WriteLine("DbcsEnabled:{0}", _
    SystemInformation.DbcsEnabled)

'デバッグ バージョンの USER.EXE がインストールされているかどうか
Console.WriteLine("DebugOS:{0}", _
    SystemInformation.DebugOS)

'2 回のクリックがOSでダブルクリックであると認識されるために、
'ユーザーがクリックする 2 つの位置が含まれている必要がある範囲の
'サイズ (ピクセル単位)
Console.WriteLine("DoubleClickSize:{0}", _
    SystemInformation.DoubleClickSize)

'ダブルクリックとして認識される 2 回のマウス クリックの最大間隔
'(ミリ秒単位)
Console.WriteLine("DoubleClickTime:{0}", _
    SystemInformation.DoubleClickTime)

'ユーザーがウィンドウ全体のドラッグを有効にしているかどうか
Console.WriteLine("DragFullWindows:{0}", _
    SystemInformation.DragFullWindows)

'ドラッグ操作として認識されるために、マウスを移動する必要がある
'距離を表す四角形のサイズ (ピクセル単位)
Console.WriteLine("DragSize:{0}", _
    SystemInformation.DragSize)

'キャプションがあり、サイズを変更できないウィンドウの境界線の太さ
'(ピクセル単位)
Console.WriteLine("FixedFrameBorderSize:{0}", _
    SystemInformation.FixedFrameBorderSize)

'サイズを変更できるウィンドウの境界線の太さ (ピクセル単位)
Console.WriteLine("FrameBorderSize:{0}", _
    SystemInformation.FrameBorderSize)

'ユーザーがハイコントラスト モードでの実行を選択したかどうか
Console.WriteLine("HighContrast:{0}", _
    SystemInformation.HighContrast)

'水平スクロール バーの矢印ビットマップの幅 (ピクセル単位)
Console.WriteLine("HorizontalScrollBarArrowWidth:{0}", _
    SystemInformation.HorizontalScrollBarArrowWidth)

'水平スクロール バーの高さ (ピクセル単位)
Console.WriteLine("HorizontalScrollBarHeight:{0}", _
    SystemInformation.HorizontalScrollBarHeight)

'水平スクロール バーのスクロール ボックスの幅 (ピクセル単位)
Console.WriteLine("HorizontalScrollBarThumbWidth:{0}", _
    SystemInformation.HorizontalScrollBarThumbWidth)

'アイコンの既定のサイズ (ピクセル単位)
Console.WriteLine("IconSize:{0}", _
    SystemInformation.IconSize)

'大きいアイコン表示でアイコンを整列するために使用される
'グリッドのサイズ (ピクセル単位)
Console.WriteLine("IconSpacingSize:{0}", _
    SystemInformation.IconSpacingSize)

'2 バイト文字セット (DBCS) バージョンの Windows で画面の一番下に
'表示される漢字ウィンドウの高さ (ピクセル単位)
Console.WriteLine("KanjiWindowHeight:{0}", _
    SystemInformation.KanjiWindowHeight)

'キャプションとサイズ変更境界があるウィンドウの既定の最大サイズ
'(ピクセル単位)
Console.WriteLine("MaxWindowTrackSize:{0}", _
    SystemInformation.MaxWindowTrackSize)

'メニュー バー ボタンのサイズ (ピクセル単位)
Console.WriteLine("MenuButtonSize:{0}", _
    SystemInformation.MenuButtonSize)

'メニューのチェック マークの既定のサイズ (ピクセル単位)
Console.WriteLine("MenuCheckSize:{0}", _
    SystemInformation.MenuCheckSize)

'メニュー用のオペレーティング システム フォント
Console.WriteLine("MenuFont:{0}", _
    SystemInformation.MenuFont)

'メニューの 1 行の高さ (ピクセル単位)
Console.WriteLine("MenuHeight:{0}", _
    SystemInformation.MenuHeight)

'オペレーティング システムがヘブライ語やアラビア語に対して
'有効かどうか
Console.WriteLine("MidEastEnabled:{0}", _
    SystemInformation.MidEastEnabled)

'標準の最小化されたウィンドウのサイズ (ピクセル単位)
Console.WriteLine("MinimizedWindowSize:{0}", _
    SystemInformation.MinimizedWindowSize)

'最小化されたウィンドウが配置されるグリッドのサイズ
'(ピクセル単位)
Console.WriteLine("MinimizedWindowSpacingSize:{0}", _
    SystemInformation.MinimizedWindowSpacingSize)

'ウィンドウを縮小できる最小サイズ (ピクセル単位)
Console.WriteLine("MinimumWindowSize:{0}", _
    SystemInformation.MinimumWindowSize)

'オペレーティング システムで認識される、ウィンドウの既定の
'最小サイズ (ピクセル単位)
Console.WriteLine("MinWindowTrackSize:{0}", _
    SystemInformation.MinWindowTrackSize)

'デスクトップ上のディスプレイ モニタの数
Console.WriteLine("MonitorCount:{0}", _
    SystemInformation.MonitorCount)

'すべてのディスプレイ モニタのカラー形式が同じかどうか
Console.WriteLine("MonitorsSameDisplayFormat:{0}", _
    SystemInformation.MonitorsSameDisplayFormat)

'マウスのボタンの数
Console.WriteLine("MouseButtons:{0}", _
    SystemInformation.MouseButtons)

'左右のマウス ボタンの機能が入れ替わっているかどうか
Console.WriteLine("MouseButtonsSwapped:{0}", _
    SystemInformation.MouseButtonsSwapped)

'マウスが取り付けられているかどうか
Console.WriteLine("MousePresent:{0}", _
    SystemInformation.MousePresent)

'マウス ホイールが付いているマウスが取り付けられているかどうか
Console.WriteLine("MouseWheelPresent:{0}", _
    SystemInformation.MouseWheelPresent)

'マウス ホイールを回転したときにスクロールする行数
Console.WriteLine("MouseWheelScrollLines:{0}", _
    SystemInformation.MouseWheelScrollLines)

'OSが本来マウス ホイールをサポートしているかどうか
Console.WriteLine("NativeMouseWheelSupport:{0}", _
    SystemInformation.NativeMouseWheelSupport)

'コンピュータがネットワークに接続されているかどうか
Console.WriteLine("Network:{0}", _
    SystemInformation.Network)

'Microsoft Windows for Pen Computing 拡張機能が
'インストールされているかどうか
Console.WriteLine("PenWindows:{0}", _
    SystemInformation.PenWindows)

'プライマリ モニタ上の最大化されたウィンドウの既定のサイズ
'(ピクセル単位)
Console.WriteLine("PrimaryMonitorMaximizedWindowSize:{0}", _
    SystemInformation.PrimaryMonitorMaximizedWindowSize)

'プライマリ ディスプレイ モニタのサイズ (ピクセル単位)
Console.WriteLine("PrimaryMonitorSize:{0}", _
    SystemInformation.PrimaryMonitorSize)

'ドロップダウン メニューが、対応するメニュー バー項目に対して
'右寄せになっているかどうか
Console.WriteLine("RightAlignedMenus:{0}", _
    SystemInformation.RightAlignedMenus)

'OSにセキュリティが設定されているかどうか
Console.WriteLine("Secure:{0}", _
    SystemInformation.Secure)

'アプリケーションが情報を音で提供している場合に、
'情報を視覚的な形で提供することをユーザーが要求しているかどうか
Console.WriteLine("ShowSounds:{0}", _
    SystemInformation.ShowSounds)

'小さいアイコンの推奨サイズ (ピクセル単位)
Console.WriteLine("SmallIconSize:{0}", _
    SystemInformation.SmallIconSize)

'小さいキャプション ボタンのサイズ (ピクセル単位)
Console.WriteLine("ToolWindowCaptionButtonSize:{0}", _
    SystemInformation.ToolWindowCaptionButtonSize)

'小さいキャプションの高さ (ピクセル単位)
Console.WriteLine("ToolWindowCaptionHeight:{0}", _
    SystemInformation.ToolWindowCaptionHeight)

'ユーザー ドメインの名前
Console.WriteLine("UserDomainName:{0}", _
    SystemInformation.UserDomainName)

'現在のプロセスがユーザー対話モードで実行されているかどうか
Console.WriteLine("UserInteractive:{0}", _
    SystemInformation.UserInteractive)

'現在のスレッドのユーザー名 
'(OSに現在ログオンしているユーザーの名前)
Console.WriteLine("UserName:{0}", _
    SystemInformation.UserName)

'垂直スクロール バーの矢印ビットマップの高さ (ピクセル単位)
Console.WriteLine("VerticalScrollBarArrowHeight:{0}", _
    SystemInformation.VerticalScrollBarArrowHeight)

'垂直スクロール バーのスクロール ボックスの高さ (ピクセル単位)
Console.WriteLine("VerticalScrollBarThumbHeight:{0}", _
    SystemInformation.VerticalScrollBarThumbHeight)

'垂直スクロール バーの幅 (ピクセル単位)
Console.WriteLine("VerticalScrollBarWidth:{0}", _
    SystemInformation.VerticalScrollBarWidth)

'仮想画面の範囲
Console.WriteLine("VirtualScreen:{0}", _
    SystemInformation.VirtualScreen)

'作業領域のサイズ (ピクセル単位)
Console.WriteLine("WorkingArea:{0}", _
    SystemInformation.WorkingArea)
C#
コードを隠すコードを選択
//OSによる最小化されたウィンドウの整列方法(方向)
Console.WriteLine("ArrangeDirection:{0}", 
    SystemInformation.ArrangeDirection);

//OSによる最小化されたウィンドウの整列方法(開始位置)
Console.WriteLine("ArrangeStartingPosition:{0}", 
    SystemInformation.ArrangeStartingPosition);

//システムが起動された方法
//セーフモード等
Console.WriteLine("BootMode:{0}", 
    SystemInformation.BootMode);

//3D境界線のサイズ(ピクセル単位)
Console.WriteLine("Border3DSize:{0}", 
    SystemInformation.Border3DSize);

//ウィンドウの境界線の幅と高さ (ピクセル単位) 
Console.WriteLine("BorderSize:{0}", 
    SystemInformation.BorderSize);

//キャプション バー ボタン (タイトル バー ボタン) の
//サイズ (ピクセル単位)
Console.WriteLine("CaptionButtonSize:{0}", 
    SystemInformation.CaptionButtonSize);

//ウィンドウの標準のキャプション領域の高さ (ピクセル単位)
Console.WriteLine("CaptionHeight:{0}", 
    SystemInformation.CaptionHeight);

//現在のシステムのコンピュータ名
Console.WriteLine("ComputerName:{0}", 
    SystemInformation.ComputerName);

//カーソルのサイズ (ピクセル単位)
Console.WriteLine("CursorSize:{0}", 
    SystemInformation.CursorSize);

//オペレーティング システムが 2 バイト文字セット 
//(DBCS: Double-Byte Character Set) の文字を処理できるかどうか
Console.WriteLine("DbcsEnabled:{0}", 
    SystemInformation.DbcsEnabled);

//デバッグ バージョンの USER.EXE がインストールされているかどうか
Console.WriteLine("DebugOS:{0}", 
    SystemInformation.DebugOS);

//2 回のクリックがOSでダブルクリックであると認識されるために、
//ユーザーがクリックする 2 つの位置が含まれている必要がある範囲の
//サイズ (ピクセル単位)
Console.WriteLine("DoubleClickSize:{0}", 
    SystemInformation.DoubleClickSize);

//ダブルクリックとして認識される 2 回のマウス クリックの最大間隔
//(ミリ秒単位)
Console.WriteLine("DoubleClickTime:{0}", 
    SystemInformation.DoubleClickTime);

//ユーザーがウィンドウ全体のドラッグを有効にしているかどうか
Console.WriteLine("DragFullWindows:{0}", 
    SystemInformation.DragFullWindows);

//ドラッグ操作として認識されるために、マウスを移動する必要がある
//距離を表す四角形のサイズ (ピクセル単位)
Console.WriteLine("DragSize:{0}", 
    SystemInformation.DragSize);

//キャプションがあり、サイズを変更できないウィンドウの境界線の太さ
//(ピクセル単位)
Console.WriteLine("FixedFrameBorderSize:{0}", 
    SystemInformation.FixedFrameBorderSize);

//サイズを変更できるウィンドウの境界線の太さ (ピクセル単位)
Console.WriteLine("FrameBorderSize:{0}", 
    SystemInformation.FrameBorderSize);

//ユーザーがハイコントラスト モードでの実行を選択したかどうか
Console.WriteLine("HighContrast:{0}", 
    SystemInformation.HighContrast);

//水平スクロール バーの矢印ビットマップの幅 (ピクセル単位)
Console.WriteLine("HorizontalScrollBarArrowWidth:{0}", 
    SystemInformation.HorizontalScrollBarArrowWidth);

//水平スクロール バーの高さ (ピクセル単位)
Console.WriteLine("HorizontalScrollBarHeight:{0}", 
    SystemInformation.HorizontalScrollBarHeight);

//水平スクロール バーのスクロール ボックスの幅 (ピクセル単位)
Console.WriteLine("HorizontalScrollBarThumbWidth:{0}", 
    SystemInformation.HorizontalScrollBarThumbWidth);

//アイコンの既定のサイズ (ピクセル単位)
Console.WriteLine("IconSize:{0}", 
    SystemInformation.IconSize);

//大きいアイコン表示でアイコンを整列するために使用される
//グリッドのサイズ (ピクセル単位)
Console.WriteLine("IconSpacingSize:{0}", 
    SystemInformation.IconSpacingSize);

//2 バイト文字セット (DBCS) バージョンの Windows で画面の一番下に
//表示される漢字ウィンドウの高さ (ピクセル単位)
Console.WriteLine("KanjiWindowHeight:{0}", 
    SystemInformation.KanjiWindowHeight);

//キャプションとサイズ変更境界があるウィンドウの既定の最大サイズ
//(ピクセル単位)
Console.WriteLine("MaxWindowTrackSize:{0}", 
    SystemInformation.MaxWindowTrackSize);

//メニュー バー ボタンのサイズ (ピクセル単位)
Console.WriteLine("MenuButtonSize:{0}", 
    SystemInformation.MenuButtonSize);

//メニューのチェック マークの既定のサイズ (ピクセル単位)
Console.WriteLine("MenuCheckSize:{0}", 
    SystemInformation.MenuCheckSize);

//メニュー用のオペレーティング システム フォント
Console.WriteLine("MenuFont:{0}", 
    SystemInformation.MenuFont);

//メニューの 1 行の高さ (ピクセル単位)
Console.WriteLine("MenuHeight:{0}", 
    SystemInformation.MenuHeight);

//オペレーティング システムがヘブライ語やアラビア語に対して
//有効かどうか
Console.WriteLine("MidEastEnabled:{0}", 
    SystemInformation.MidEastEnabled);

//標準の最小化されたウィンドウのサイズ (ピクセル単位)
Console.WriteLine("MinimizedWindowSize:{0}", 
    SystemInformation.MinimizedWindowSize);

//最小化されたウィンドウが配置されるグリッドのサイズ
//(ピクセル単位)
Console.WriteLine("MinimizedWindowSpacingSize:{0}", 
    SystemInformation.MinimizedWindowSpacingSize);

//ウィンドウを縮小できる最小サイズ (ピクセル単位)
Console.WriteLine("MinimumWindowSize:{0}", 
    SystemInformation.MinimumWindowSize);

//オペレーティング システムで認識される、ウィンドウの既定の
//最小サイズ (ピクセル単位)
Console.WriteLine("MinWindowTrackSize:{0}", 
    SystemInformation.MinWindowTrackSize);

//デスクトップ上のディスプレイ モニタの数
Console.WriteLine("MonitorCount:{0}", 
    SystemInformation.MonitorCount);

//すべてのディスプレイ モニタのカラー形式が同じかどうか
Console.WriteLine("MonitorsSameDisplayFormat:{0}", 
    SystemInformation.MonitorsSameDisplayFormat);

//マウスのボタンの数
Console.WriteLine("MouseButtons:{0}", 
    SystemInformation.MouseButtons);

//左右のマウス ボタンの機能が入れ替わっているかどうか
Console.WriteLine("MouseButtonsSwapped:{0}", 
    SystemInformation.MouseButtonsSwapped);

//マウスが取り付けられているかどうか
Console.WriteLine("MousePresent:{0}", 
    SystemInformation.MousePresent);

//マウス ホイールが付いているマウスが取り付けられているかどうか
Console.WriteLine("MouseWheelPresent:{0}", 
    SystemInformation.MouseWheelPresent);

//マウス ホイールを回転したときにスクロールする行数
Console.WriteLine("MouseWheelScrollLines:{0}", 
    SystemInformation.MouseWheelScrollLines);

//OSが本来マウス ホイールをサポートしているかどうか
Console.WriteLine("NativeMouseWheelSupport:{0}", 
    SystemInformation.NativeMouseWheelSupport);

//コンピュータがネットワークに接続されているかどうか
Console.WriteLine("Network:{0}", 
    SystemInformation.Network);

//Microsoft Windows for Pen Computing 拡張機能が
//インストールされているかどうか
Console.WriteLine("PenWindows:{0}", 
    SystemInformation.PenWindows);

//プライマリ モニタ上の最大化されたウィンドウの既定のサイズ
//(ピクセル単位)
Console.WriteLine("PrimaryMonitorMaximizedWindowSize:{0}", 
    SystemInformation.PrimaryMonitorMaximizedWindowSize);

//プライマリ ディスプレイ モニタのサイズ (ピクセル単位)
Console.WriteLine("PrimaryMonitorSize:{0}", 
    SystemInformation.PrimaryMonitorSize);

//ドロップダウン メニューが、対応するメニュー バー項目に対して
//右寄せになっているかどうか
Console.WriteLine("RightAlignedMenus:{0}", 
    SystemInformation.RightAlignedMenus);

//OSにセキュリティが設定されているかどうか
Console.WriteLine("Secure:{0}", 
    SystemInformation.Secure);

//アプリケーションが情報を音で提供している場合に、
//情報を視覚的な形で提供することをユーザーが要求しているかどうか
Console.WriteLine("ShowSounds:{0}", 
    SystemInformation.ShowSounds);

//小さいアイコンの推奨サイズ (ピクセル単位)
Console.WriteLine("SmallIconSize:{0}", 
    SystemInformation.SmallIconSize);

//小さいキャプション ボタンのサイズ (ピクセル単位)
Console.WriteLine("ToolWindowCaptionButtonSize:{0}", 
    SystemInformation.ToolWindowCaptionButtonSize);

//小さいキャプションの高さ (ピクセル単位)
Console.WriteLine("ToolWindowCaptionHeight:{0}", 
    SystemInformation.ToolWindowCaptionHeight);

//ユーザー ドメインの名前
Console.WriteLine("UserDomainName:{0}", 
    SystemInformation.UserDomainName);

//現在のプロセスがユーザー対話モードで実行されているかどうか
Console.WriteLine("UserInteractive:{0}", 
    SystemInformation.UserInteractive);

//現在のスレッドのユーザー名 
//(OSに現在ログオンしているユーザーの名前)
Console.WriteLine("UserName:{0}", 
    SystemInformation.UserName);

//垂直スクロール バーの矢印ビットマップの高さ (ピクセル単位)
Console.WriteLine("VerticalScrollBarArrowHeight:{0}", 
    SystemInformation.VerticalScrollBarArrowHeight);

//垂直スクロール バーのスクロール ボックスの高さ (ピクセル単位)
Console.WriteLine("VerticalScrollBarThumbHeight:{0}", 
    SystemInformation.VerticalScrollBarThumbHeight);

//垂直スクロール バーの幅 (ピクセル単位)
Console.WriteLine("VerticalScrollBarWidth:{0}", 
    SystemInformation.VerticalScrollBarWidth);

//仮想画面の範囲
Console.WriteLine("VirtualScreen:{0}", 
    SystemInformation.VirtualScreen);

//作業領域のサイズ (ピクセル単位)
Console.WriteLine("WorkingArea:{0}", 
    SystemInformation.WorkingArea);
出力例:
ArrangeDirection:Right
ArrangeStartingPosition:Hide
BootMode:Normal
Border3DSize:{Width=2, Height=2}
BorderSize:{Width=1, Height=1}
CaptionButtonSize:{Width=18, Height=18}
CaptionHeight:19
ComputerName:COMPUTERNAME
CursorSize:{Width=32, Height=32}
DbcsEnabled:True
DebugOS:True
DoubleClickSize:{Width=4, Height=4}
DoubleClickTime:500
DragFullWindows:True
DragSize:{Width=4, Height=4}
FixedFrameBorderSize:{Width=3, Height=3}
FrameBorderSize:{Width=4, Height=4}
HighContrast:False
HorizontalScrollBarArrowWidth:16
HorizontalScrollBarHeight:16
HorizontalScrollBarThumbWidth:16
IconSize:{Width=32, Height=32}
IconSpacingSize:{Width=78, Height=75}
KanjiWindowHeight:0
MaxWindowTrackSize:{Width=1036, Height=780}
MenuButtonSize:{Width=18, Height=18}
MenuCheckSize:{Width=13, Height=13}
MenuFont:[Font: Name=Tahoma, Size=11, Units=0, GdiCharSet=128, GdiVerticalFont=False]
MenuHeight:19
MidEastEnabled:False
MinimizedWindowSize:{Width=160, Height=24}
MinimizedWindowSpacingSize:{Width=160, Height=24}
MinimumWindowSize:{Width=112, Height=27}
MinWindowTrackSize:{Width=112, Height=27}
MonitorCount:1
MonitorsSameDisplayFormat:True
MouseButtons:3
MouseButtonsSwapped:False
MousePresent:True
MouseWheelPresent:True
MouseWheelScrollLines:3
NativeMouseWheelSupport:True
Network:False
PenWindows:False
PrimaryMonitorMaximizedWindowSize:{Width=1032, Height=748}
PrimaryMonitorSize:{Width=1024, Height=768}
RightAlignedMenus:False
Secure:True
ShowSounds:False
SmallIconSize:{Width=16, Height=16}
ToolWindowCaptionButtonSize:{Width=12, Height=15}
ToolWindowCaptionHeight:16
UserDomainName:USERDOMAINNAME
UserInteractive:True
UserName:Username
VerticalScrollBarArrowHeight:16
VerticalScrollBarThumbHeight:16
VerticalScrollBarWidth:16
VirtualScreen:{X=0,Y=0,Width=1024,Height=768}
WorkingArea:{X=0,Y=0,Width=1024,Height=740}

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。