Namespace SystemMonitor #Region " 列挙体 " ''' <summary>容量の単位です。</summary> ''' <remarks></remarks> Public Enum SizeUnit B KB MB GB End Enum #End Region ''' <summary>メモリ関連の処理を行う静的メソッドを提供するクラスです。このクラスは継承できません。</summary> ''' <remarks></remarks> Public NotInheritable Class Memory #Region " プライベートコンストラクタ " Private Sub New() End Sub #End Region #Region " パブリックメソッド " ''' <summary>指定した単位のメモリの容量を取得します。</summary> ''' <param name="Unit">容量の単位を表す SizeUnit の値の 1 つ。</param> ''' <returns>Unit で表されるメモリの容量。</returns> ''' <remarks></remarks> Public Shared Function GetMemorySize(ByVal Unit As SizeUnit) As Decimal Return Convert.ToDecimal(My.Computer.Info.TotalPhysicalMemory / (1024 ^ Unit)) End Function #End Region End Class End Namespace
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Unit As SystemMonitor.SizeUnit = SystemMonitor.SizeUnit.B Me.Label1.Text = String.Format("{0:N0}{1}", SystemMonitor.Memory.GetMemorySize(Unit), Unit) '表示例:1,072,480,256B Unit = SystemMonitor.SizeUnit.KB Me.Label2.Text = String.Format("{0:N0}{1}", SystemMonitor.Memory.GetMemorySize(Unit), Unit) '表示例:1,047,344KB Unit = SystemMonitor.SizeUnit.MB Me.Label3.Text = String.Format("{0:N0}{1}", SystemMonitor.Memory.GetMemorySize(Unit), Unit) '表示例:1,023MB Unit = SystemMonitor.SizeUnit.GB Me.Label4.Text = String.Format("{0:N2}{1}", SystemMonitor.Memory.GetMemorySize(Unit), Unit) '表示例:1.00GB End Sub