アプリケーションのプロファイリングにパフォーマンス カウンターが必要な場合は、パフォーマンス カウンターを選択します。
ただし、汎用のシステム情報として使用する場合は、WMI を検討することをお勧めします。これは、ディスク情報を取得するために以前に使用したサンプルです。
注:への参照が必要になりますSystem.Management
Dim scope As ManagementScope = New ManagementScope("\\.\root\CIMV2")
scope.Options.Impersonation = ImpersonationLevel.Impersonate
scope.Options.EnablePrivileges = True
Dim wmiQuery = "SELECT SystemName, Name, VolumeName, Size, FreeSpace FROM Win32_LogicalDisk WHERE DriveType = 3 "
Dim query As ObjectQuery = New ObjectQuery(wmiQuery)
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher(scope, query)
Dim result As New List(Of MyDrive)
For Each systemDrive As ManagementObject In searcher.Get
Dim diskDrive = New MyDrive
diskDrive.SystemName = systemDrive("SystemName").ToString
diskDrive.Name = systemDrive("Name").ToString
diskDrive.Size = CDec(systemDrive("Size")) / 1073741824
diskDrive.FreeSpace = CDec(systemDrive("FreeSpace")) / 1073741824
diskDrive.VolumeName = systemDrive("VolumeName").ToString
result.Add(diskDrive)
Next
Public Class MyDrive
Public Property SystemName As String
Public Property Name As String
Public Property VolumeName As String
Public Property Size As Decimal
Public Property FreeSpace As Decimal
Public ReadOnly Property PercentFree As Decimal
Get
Dim percent As Decimal = 0
If Size > 0 Then percent = FreeSpace / Size
Return percent
End Get
End Property
End Class
ディスク領域を分割して GB に変換していることに注意してください。