WMI(Windows Management Instrumentation)を用いることによって、システムの様々な情報を収集することができ、
.NET Framework には WMI に関連するクラスが System.Management 名前空間に実装されています。
オペレーティングシステムの情報は WMIクラス Win32_OperatingSystem に格納されています。
以下は Windows XP SP1 の情報を収集するコードとその結果です。
Sub Main()
Console.WriteLine("********** Win32_OperatingSystemクラスのプロパティとその値 **********")
Dim strWQL As String = "Select * From Win32_OperatingSystem"
Dim searcher As New System.Management.ManagementObjectSearcher(strWQL)
For Each mbo As System.Management.ManagementBaseObject In searcher.Get()
For Each prop As System.Management.PropertyData In mbo.Properties
Console.WriteLine("{0}:{1}", prop.Name, prop.Value)
Next
Next
End Sub
実行結果は以下のようになります。
********** Win32_OperatingSystemクラスのプロパティとその値 **********
BootDevice:\Device\HarddiskVolume1
BuildNumber:2600
BuildType:Uniprocessor Free
Caption:Microsoft Windows XP Professional
CodeSet:932
CountryCode:81
CreationClassName:Win32_OperatingSystem
CSCreationClassName:Win32_ComputerSystem
CSDVersion:Service Pack 1
CSName:KAZUMAPC
CurrentTimeZone:540
Debug:False
Description:
Distributed:False
EncryptionLevel:168
ForegroundApplicationBoost:2
FreePhysicalMemory:107792
FreeSpaceInPagingFiles:970368
FreeVirtualMemory:1078160
InstallDate:20030212215938.000000+540
LargeSystemCache:0
LastBootUpTime:20050109040818.725700+540
LocalDateTime:20050109101843.633000+540
Locale:0411
Manufacturer:Microsoft Corporation
MaxNumberOfProcesses:4294967295
MaxProcessMemorySize:2097024
Name:Microsoft Windows XP Professional|C:\WINDOWS|\Device\Harddisk0\Partition1
NumberOfLicensedUsers:
NumberOfProcesses:51
NumberOfUsers:3
Organization:
OSLanguage:1041
OSProductSuite:
OSType:18
OtherTypeDescription:
PlusProductID:
PlusVersionNumber:
Primary:True
ProductType:1
QuantumLength:0
QuantumType:0
RegisteredUser:kazuma
SerialNumber:55384-012-4589736-#####
ServicePackMajorVersion:1
ServicePackMinorVersion:0
SizeStoredInPagingFiles:1292196
Status:OK
SuiteMask:272
SystemDevice:\Device\HarddiskVolume1
SystemDirectory:C:\WINDOWS\System32
SystemDrive:C:
TotalSwapSpaceSize:
TotalVirtualMemorySize:1815444
TotalVisibleMemorySize:523248
Version:5.1.2600
WindowsDirectory:C:\WINDOWS