VB.NET中得到计算机硬件信息

本文汇集了在.net中得到计算机硬件信息的一些功能。

得到显示器分辨率

Dim X As Short = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width
    
    
Dim Y As Short = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height
    
    
MsgBox("您的显示器分辨率是:" & X & " X " & Y)
    
    

得到特殊文件夹的路径

'"Desktop"桌面文件夹路径
    
    
MsgBox(Environment.GetFoldERPath(Environment.SpecialFolder.DesktopDirectory))
    
    
'"Favorites"收藏夹路径
    
    
MsgBox(Environment.GetFolderPath(Environment.SpecialFolder.Favorites))
    
    
'"Application Data"路径
    
    
MsgBox(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData))
    
    
 
    
    
'通用写法
    
    
'Dim SPEC As String = Environment.GetFolderPath(Environment.SpecialFolder.XXXXXXX)
    
    
'XXXXXXX是特殊文件夹的名字
    
    

得到操作系统版本信息

MsgBox(Environment.OSVersion.ToString)
    
    

得到当前登录的用户名

MsgBox(Environment.UserName)
    
    

得到当前应用程序的路径

MsgBox(Environment.CurrentDirectory)
    
    

打开和关闭CD-ROM

'先新建模块
    
    
Module mciAPIModule
    
    
  Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
    
    
  (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
    
    
  ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
    
    
End Module
    
    

'打开CD-ROM

Dim lRet As Long
    
    
lRet = mciSendString("set cdAudio door open", 0&, 0, 0)
    
    

'关闭CD-ROM

Dim lRet As Long
    
    
lRet = mciSendString("set cdAudio door Closed", 0&, 0, 0)
    
    
'更多请参见
    
    
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/mmcmdstr_8eyc.asp
    
    

得到计算机IP和计算机全名

Dim MYIP As System.Net.IPHostEntry = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName)
    
    
MsgBox("您的IP地址:" & (MYIP.AddressList.GetValue(0).ToString))
    
    
MsgBox("您的计算机全名:" & (MYIP.HostName.ToString))
    
    

使用win32_operatingSystem (wmi Class)得到计算机信息

'添加ListBox在Form1_Load事件里,并引用system.Managment
    
    
Dim opSearch As New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")
    
    
Dim opInfo As ManagementObject
    
    
For Each opInfo In opSearch.Get()
    
    
  ListBox1.Items.Add("Name: " & opInfo("name").ToString())
    
    
  ListBox1.Items.Add("Version: " & opInfo("version").ToString())
    
    
  ListBox1.Items.Add("Manufacturer: " & opInfo("manufacturer").ToString())
    
    
  ListBox1.Items.Add("Computer name: " & opInfo("csname").ToString())
    
    
  ListBox1.Items.Add("Windows Directory: " & opInfo("windowsdirectory").ToString())
    
    
Next
    
    

列出计算机安装的全部字体,并添加到ListBox

'新建Form并添加ListBox和Button
    
    
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
    
Dim fntCollection As InstalledFontCollection = New InstalledFontCollection()
    
    
Dim fntFamily() As FontFamily
    
    
fntFamily = fntCollection.Families
    
    
ListBox1.Items.Clear()
    
    
Dim i As Integer = 0
    
    
For i = 0 To fntFamily.Length - 1 
    
    
  ListBox1.Items.Add(fntFamily(i).Name)
    
    
Next
    
    
End Sub
    
    

使用Win32_Processor列出处理器的信息

Imports System.Management
    
    
Public Class Form1
    
    
  Inherits System.Windows.Forms.Form
    
    
 
    
    
#Region " Windows 窗体设计器生成的代码 "
    
    
 
    
    
  Public Sub New()
    
    
    MyBase.New()
    
    
 
    
    
    '该调用是 Windows 窗体设计器所必需的。
    
    
    InitializeComponent()
    
    
 
    
    
    '在 InitializeComponent() 调用之后添加任何初始化
    
    
 
    
    
  End Sub
    
    
 
    
    
  '窗体重写 dispose 以清理组件列表。
    
    
  Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
    
    
    If disposing Then
    
    
      If Not (components Is Nothing) Then
    
    
        components.Dispose()
    
    
      End If
    
    
    End If
    
    
    MyBase.Dispose(disposing)
    
    
  End Sub
    
    
 
    
    
  'Windows 窗体设计器所必需的
    
    
  Private components As System.ComponentModel.IContainer
    
    
 
    
    
  '注意: 以下过程是 Windows 窗体设计器所必需的
    
    
  '可以使用 Windows 窗体设计器修改此过程。
    
    
  '不要使用代码编辑器修改它。
    
    
  Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
    
    
  Friend WithEvents Button1 As System.Windows.Forms.Button
    
    
   Private Sub InitializeComponent()
    
    
    Me.ListBox1 = New System.Windows.Forms.ListBox
    
    
    Me.Button1 = New System.Windows.Forms.Button
    
    
    Me.SuspendLayout()
    
    
    '
    
    
    'ListBox1
    
    
    '
    
    
    Me.ListBox1.Location = New System.Drawing.Point(8, 8)
    
    
    Me.ListBox1.Name = "ListBox1"
    
    
    Me.ListBox1.Size = New System.Drawing.Size(280, 186)
    
    
    Me.ListBox1.TabIndex = 0
    
    
    '
    
    
    'Button1
    
    
    '
    
    
    Me.Button1.Location = New System.Drawing.Point(56, 208)
    
    
    Me.Button1.Name = "Button1"
    
    
    Me.Button1.Size = New System.Drawing.Size(168, 32)
    
    
    Me.Button1.TabIndex = 1
    
    
    Me.Button1.Text = "装载计算机处理器信息"
    
    
    '
    
    
    'Form1
    
    
    '
    
    
    Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
    
    
    Me.ClientSize = New System.Drawing.Size(296, 254)
    
    
    Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Button1, Me.ListBox1})
    
    
    Me.Text = "计算机处理器信息"
    
    
    Me.ResumeLayout(False)
    
    
 
    
    
  End Sub
    
    
 
    
    
#End Region
    
    
 
    
    
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    
    
            Handles Button1.Click
    
    
 
    
    
    Dim ProcQuery As New SelectQuery("Win32_Processor")
    
    
    Dim ProcSearch As New ManagementObjectSearcher(ProcQuery)
    
    
    Dim ProcInfo As ManagementObject
    
    
 
    
    
    For Each ProcInfo In ProcSearch.Get()
    
    
      Call processorfamily(ProcInfo("Family").ToString)
    
    
      ListBox1.Items.Add("Description: " & ProcInfo("Description").ToString())
    
    
      ListBox1.Items.Add("caption: " & ProcInfo("caption").ToString())
    
    
      ListBox1.Items.Add("Architecture: " & ProcInfo("Architecture").ToString())
    
    
      Call processortype(ProcInfo("ProcessorType").ToString())
    
    
      Call CpuStat(ProcInfo("CpuStatus").ToString)
    
    
      ListBox1.Items.Add("MaxClockSpeed: " & ProcInfo("MaxClockSpeed").ToString() & "MHZ")
    
    
      ListBox1.Items.Add("L2CacheSpeed: " & ProcInfo("L2CacheSpeed").ToString() & "MHZ")
    
    
      ListBox1.Items.Add("ExtClock: " & ProcInfo("L2CacheSpeed").ToString() & "MHZ")
    
    
      ListBox1.Items.Add("ProcessorId: " & ProcInfo("ProcessorId").ToString())
    
    
      ListBox1.Items.Add("AddressWidth: " & ProcInfo("AddressWidth").ToString() & "Bits")
    
    
      ListBox1.Items.Add("DataWidth: " & ProcInfo("DataWidth").ToString() & "Bits")
    
    
      ListBox1.Items.Add("Version: " & ProcInfo("Version").ToString())
    
    
      ListBox1.Items.Add("ExtClock: " & ProcInfo("ExtClock").ToString() & "MHZ")
    
    
    Next
    
    
  End Sub
    
    
  Function processorfamily(ByVal procssfam)
    
    
    Dim processtype
    
    
    Select Case procssfam
    
    
      Case 1
    
    
        processtype = "Other"
    
    
      Case 2
    
    
        processtype = "Unknown "
    
    
      Case 3
    
    
        processtype = "8086 "
    
    
      Case 4
    
    
        processtype = "80286 "
    
    
      Case 5
    
    
        processtype = "80386 "
    
    
      Case 6
    
    
        processtype = "80486 "
    
    
      Case 7
    
    
        processtype = "8087 "
    
    
      Case 8
    
    
        processtype = "80287 "
    
    
      Case 9
    
    
        processtype = "80387 "
    
    
      Case 10
    
    
        processtype = "80487 "
    
    
      Case 11
    
    
        processtype = "Pentium brand "
    
    
      Case 12
    
    
        processtype = "Pentium Pro "
    
    
      Case 13
    
    
        processtype = "Pentium II "
    
    
      Case 14
    
    
        processtype = "Pentium processor with MMX technology "
    
    
      Case 15
    
    
        processtype = "Celeron "
    
    
      Case 16
    
    
        processtype = "Pentium II Xeon "
    
    
      Case 17
    
    
        processtype = "Pentium III "
    
    
      Case 18
    
    
        processtype = "M1 Family "
    
    
      Case 19
    
    
        processtype = "M2 Family "
    
    
      Case 24
    
    
        processtype = "K5 Family "
    
    
      Case 25
    
    
        processtype = "K6 Family "
    
    
      Case 26
    
    
        processtype = "K6-2 "
    
    
      Case 27
    
    
        processtype = "K6-3 "
    
    
      Case 28
    
    
        processtype = "AMD Athlon Processor Family "
    
    
      Case 29
    
    
        processtype = "AMD Duron Processor "
    
    
      Case 30
    
    
        processtype = "AMD2900 Family "
    
    
      Case 31
    
    
        processtype = "K6-2+ "
    
    
      Case 32
    
    
        processtype = "Power PC Family "
    
    
      Case 33
    
    
        processtype = "Power PC 601 "
    
    
      Case 34
    
    
        processtype = "Power PC 603 "
    
    
      Case 35
    
    
        processtype = "Power PC 603+ "
    
    
      Case 36
    
    
        processtype = "Power PC 604 "
    
    
      Case 37
    
    
        processtype = "Power PC 620 "
    
    
      Case 38
    
    
        processtype = "Power PC X704 "
    
    
      Case 39
    
    
        processtype = "Power PC 750 "
    
    
      Case 48
    
    
        processtype = "Alpha Family "
    
    
      Case 49
    
    
        processtype = "Alpha 21064 "
    
    
      Case 50
    
    
        processtype = "Alpha 21066 "
    
    
      Case 51
    
    
        processtype = "Alpha 21164 "
    
    
      Case 52
    
    
        processtype = "Alpha 21164PC "
    
    
      Case 53
    
    
        processtype = "Alpha 21164a "
    
    
      Case 54
    
    
        processtype = "Alpha 21264 "
    
    
      Case 55
    
    
        processtype = "Alpha 21364 "
    
    
      Case 64
    
    
        processtype = "MIPS Family "
    
    
      Case 65
    
    
        processtype = "MIPS R4000 "
    
    
      Case 66
    
    
        processtype = "MIPS R4200 "
    
    
      Case 67
    
    
        processtype = "MIPS R4400 "
    
    
      Case 68
    
    
        processtype = "MIPS R4600 "
    
    
      Case 69
    
    
        processtype = "MIPS R10000 "
    
    
      Case 80
    
    
        processtype = "SPARC Family "
    
    
      Case 81
    
    
        processtype = "SuperSPARC "
    
    
      Case 82
    
    
        processtype = "microSPARC II "
    
    
      Case 83
    
    
        processtype = "microSPARC IIep "
    
    
      Case 84
    
    
        processtype = "UltraSPARC "
    
    
      Case 85
    
    
        processtype = "UltraSPARC II "
    
    
      Case 86
    
    
        processtype = "UltraSPARC IIi "
    
    
      Case 87
    
    
        processtype = "UltraSPARC III "
    
    
      Case 88
    
    
        processtype = "UltraSPARC IIIi "
    
    
      Case 96
    
    
        processtype = "68040 "
    
    
      Case 97
    
    
        processtype = "68xxx Family "
    
    
      Case 98
    
    
        processtype = "68000 "
    
    
      Case 99
    
    
        processtype = "68010 "
    
    
      Case 100
    
    
        processtype = "68020 "
    
    
      Case 101
    
    
        processtype = "68030 "
    
    
      Case 112
    
    
        processtype = "Hobbit Family "
    
    
      Case 120
    
    
        processtype = "Crusoe TM5000 Family "
    
    
      Case 121
    
    
        processtype = "Crusoe TM3000 Family "
    
    
      Case 128
    
    
        processtype = "Weitek "
    
    
      Case 130
    
    
        processtype = "Itanium Processor "
    
    
      Case 144
    
    
        processtype = "PA-RISC Family "
    
    
      Case 145
    
    
        processtype = "PA-RISC 8500 "
    
    
      Case 146
    
    
        processtype = "PA-RISC 8000 "
    
    
      Case 147
    
    
        processtype = "PA-RISC 7300LC "
    
    
      Case 148
    
    
        processtype = "PA-RISC 7200 "
    
    
      Case 149
    
    
        processtype = "PA-RISC 7100LC "
    
    
      Case 150
    
    
        processtype = "PA-RISC 7100 "
    
    
      Case 160
    
    
        processtype = "V30 Family "
    
    
      Case 176
    
    
        processtype = "Pentium III Xeon "
    
    
      Case 177
    
    
        processtype = "Pentium III Processor with Intel SpeedStep Technology "
    
    
      Case 178
    
    
        processtype = "Pentium 4 "
    
    
      Case 179
    
    
        processtype = "Intel Xeon "
    
    
      Case 180
    
    
        processtype = "AS400 Family "
    
    
      Case 181
    
    
        processtype = "Intel Xeon processor MP "
    
    
      Case 182
    
    
        processtype = "AMD AthlonXP Family "
    
    
      Case 183
    
    
        processtype = "AMD AthlonMP Family "
    
    
      Case 184
    
    
        processtype = "Intel Itanium 2 "
    
    
      Case 185
    
    
        processtype = "AMD Opteron Family "
    
    
      Case 190
    
    
        processtype = "K7 "
    
    
      Case 200
    
    
        processtype = "IBM390 Family "
    
    
      Case 201
    
    
        processtype = "G4 "
    
    
      Case 202
    
    
        processtype = "G5 "
    
    
      Case 250
    
    
        processtype = "i860 "
    
    
      Case 251
    
    
        processtype = "i960 "
    
    
      Case 260
    
    
        processtype = "SH-3 "
    
    
      Case 261
    
    
        processtype = "SH-4 "
    
    
      Case 280
    
    
        processtype = "ARM "
    
    
      Case 281
    
    
        processtype = "StrongARM "
    
    
      Case 300
    
    
        processtype = "6x86 "
    
    
      Case 301
    
    
        processtype = "MediaGX "
    
    
      Case 302
    
    
        processtype = "MII "
    
    
      Case 320
    
    
        processtype = "WinChip "
    
    
      Case 350
    
    
        processtype = "DSP "
    
    
      Case 500
    
    
        processtype = "Video Processor "
    
    
    End Select
    
    
    ListBox1.Items.Add("Family: " & processtype)
    
    
 
    
    
  End Function
    
    
  Function CpuStat(ByVal CpuStNUM)
    
    
    Dim stat
    
    
    Select Case CpuStNUM
    
    
      Case 0
    
    
        stat = "Unknown "
    
    
      Case 1
    
    
        stat = "CPU Enabled "
    
    
      Case 2
    
    
        stat = "CPU Disabled by User via BIOS Setup "
    
    
      Case 3
    
    
        stat = "CPU Disabled By BIOS (POST Error) "
    
    
      Case 4
    
    
        stat = "CPU is Idle "
    
    
      Case 5
    
    
        stat = "Reserved "
    
    
      Case 6
    
    
        stat = "Reserved "
    
    
      Case 7
    
    
        stat = "Other "
    
    
    End Select
    
    
    ListBox1.Items.Add("CpuStatus: " & stat)
    
    
  End Function
    
    
  Function processortype(ByVal proctypenum)
    
    
    Dim proctype
    
    
    Select Case proctypenum
    
    
      Case 1
    
    
        proctype = "Other "
    
    
      Case 2
    
    
        proctype = "Unknown "
    
    
      Case 3
    
    
        proctype = "Central Processor "
    
    
      Case 4
    
    
        proctype = "Math Processor "
    
    
      Case 5
    
    
        proctype = "DSP Processor "
    
    
      Case 6
    
    
        proctype = "Video Processor "
    
    
    End Select
    
    
    ListBox1.Items.Add("Processor Type: " & proctype)
    
    
 
    
    
  End Function
    
    
End Class
    
    

得到CD-ROM信息

Imports System.Management
    
    
Public Class Form1
    
    
    Inherits System.Windows.Forms.Form
    
    
 
    
    
#Region " Windows 窗体设计器生成的代码 "
    
    
 
    
    
  Public Sub New()
    
    
    MyBase.New()
    
    
 
    
    
    '该调用是 Windows 窗体设计器所必需的。
    
    
    InitializeComponent()
    
    
 
    
    
    '在 InitializeComponent() 调用之后添加任何初始化
    
    
 
    
    
  End Sub
    
    
 
    
    
  '窗体重写 dispose 以清理组件列表。
    
    
  Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
    
    
    If disposing Then
    
    
      If Not (components Is Nothing) Then
    
    
        components.Dispose()
    
    
      End If
    
    
    End If
    
    
    MyBase.Dispose(disposing)
    
    
  End Sub
    
    
 
    
    
  'Windows 窗体设计器所必需的
    
    
  '注意: 以下过程是 Windows 窗体设计器所必需的
    
    
  '可以使用 Windows 窗体设计器修改此过程。
    
    
  '不要使用代码编辑器修改它。
    
    
  Private components As System.ComponentModel.IContainer
    
    
  Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
    
    
   Private Sub InitializeComponent()
    
    
    Me.ListBox1 = New System.Windows.Forms.ListBox
    
    
    Me.SuspendLayout()
    
    
    '
    
    
    'ListBox1
    
    
    '
    
    
    Me.ListBox1.Location = New System.Drawing.Point(24, 16)
    
    
    Me.ListBox1.Name = "ListBox1"
    
    
    Me.ListBox1.Size = New System.Drawing.Size(416, 173)
    
    
    Me.ListBox1.TabIndex = 0
    
    
    '
    
    
    'Form1
    
    
    '
    
    
    Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
    
    
    Me.ClientSize = New System.Drawing.Size(456, 206)
    
    
    Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.ListBox1})
    
    
    Me.Name = "Form1"
    
    
    Me.Text = "Form1"
    
    
    Me.ResumeLayout(False)
    
    
 
    
    
  End Sub
    
    
 
    
    
#End Region
    
    
 
    
    
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    
    
            Handles MyBase.Load
    
    
    On Error Resume Next
    
    
    Dim SoundDeviceQuery As New SelectQuery("Win32_CDROMDrive")
    
    
    Dim SoundDeviceSearch As New ManagementObjectSearcher(SoundDeviceQuery)
    
    
    Dim SoundDeviceInfo As ManagementObject
    
    
    For Each SoundDeviceInfo In SoundDeviceSearch.Get()
    
    
      Dim SizeInMBs As Long = (Val(SoundDeviceInfo("Size").ToString()))
    
    
      SizeInMBs = Int((SizeInMBs / (1024 * 1024)))
    
    
      ListBox1.Items.Add("CD-Rom Description: " & SoundDeviceInfo("caption").ToString())
    
    
      ListBox1.Items.Add("CD-Rom Manufacturer: " & SoundDeviceInfo("Manufacturer").ToString())
    
    
      ListBox1.Items.Add("CD-Rom Drive: " & SoundDeviceInfo("drive").ToString())
    
    
      ListBox1.Items.Add("CD-Rom Media Loaded: " & SoundDeviceInfo("MediaLoaded").ToString())
    
    
      ListBox1.Items.Add("CD-Rom Media Type: " & SoundDeviceInfo("MediaType").ToString())
    
    
      ListBox1.Items.Add("CD-Rom Volume Name: " & SoundDeviceInfo("VolumeName").ToString())
    
    
      ListBox1.Items.Add("CD-Rom Size: " & SizeInMBs & " MBytes")
    
    
      ListBox1.Items.Add("CD-Rom Status: " & SoundDeviceInfo("Status").ToString())
    
    
      ListBox1.Items.Add("CD-Rom MaxMediaSize: " & SoundDeviceInfo("MaxMediaSize").ToString())
    
    
      ListBox1.Items.Add("CD-Rom Id: " & SoundDeviceInfo("Id").ToString())
    
    
      ListBox1.Items.Add("CD-Rom TransferRate: "+Int(SoundDeviceInfo("TransferRate").ToString())+" KBs/秒")
    
    
    Next
    
    
  End Sub
    
    
End Class
    
    

得到硬盘信息

Imports System.Management
    
    
Public Class Form1
    
    
    Inherits System.Windows.Forms.Form
    
    
 
    
    
#Region " Windows Form Designer generated code "
    
    
 
    
    
  Public Sub New()
    
    
    MyBase.New()
    
    
    InitializeComponent()
    
    
  End Sub
    
    
 
    
    
  Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
    
    
    If disposing Then
    
    
      If Not (components Is Nothing) Then
    
    
        components.Dispose()
    
    
      End If
    
    
    End If
    
    
    MyBase.Dispose(disposing)
    
    
  End Sub
    
    
  Private components As System.ComponentModel.IContainer
    
    
  Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
    
    
   Private Sub InitializeComponent()
    
    
    Me.ListBox1 = New System.Windows.Forms.ListBox
    
    
    Me.SuspendLayout()
    
    
    '
    
    
    'ListBox1
    
    
    '
    
    
    Me.ListBox1.Location = New System.Drawing.Point(8, 8)
    
    
    Me.ListBox1.Name = "ListBox1"
    
    
    Me.ListBox1.Size = New System.Drawing.Size(272, 212)
    
    
    Me.ListBox1.TabIndex = 0
    
    
    '
    
    
    'Form1
    
    
    '
    
    
    Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
    
    
    Me.ClientSize = New System.Drawing.Size(292, 238)
    
    
    Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.ListBox1})
    
    
    Me.Name = "Form1"
    
    
    Me.Text = "Form1"
    
    
    Me.ResumeLayout(False)
    
    
 
    
    
  End Sub
    
    
 
    
    
#End Region
    
    
 
    
    
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
    
 
    
    
    On Error Resume Next
    
    
    Dim HDDDeviceQuery As New SelectQuery("Win32_DiskDrive")
    
    
    Dim HDDDeviceSearch As New ManagementObjectSearcher(HDDDeviceQuery)
    
    
    Dim HDDDeviceInfo As ManagementObject
    
    
    For Each HDDDeviceInfo In HDDDeviceSearch.Get()
    
    
      ListBox1.Items.Add("HDD Description: " & HDDDeviceInfo("caption").ToString())
    
    
      ListBox1.Items.Add("HDD BytesPerSector: " & HDDDeviceInfo("BytesPerSector").ToString())
    
    
      ListBox1.Items.Add("HDD CompressionMethod: " & HDDDeviceInfo("CompressionMethod").ToString())
    
    
      ListBox1.Items.Add("HDD Index: " & HDDDeviceInfo("Index").ToString())
    
    
      ListBox1.Items.Add("HDD InstallDate: " & HDDDeviceInfo("InstallDate").ToString())
    
    
      ListBox1.Items.Add("HDD Manufacturer: " & HDDDeviceInfo("Manufacturer").ToString())
    
    
      ListBox1.Items.Add("HDD Partitions: " & HDDDeviceInfo("Partitions").ToString())
    
    
      ListBox1.Items.Add("HDD Size: " & Int(Val(HDDDeviceInfo("Size").ToString()) / 2 ^ 30) & "  GBytes")
    
    
      ListBox1.Items.Add("HDD TotalCylinders: " & HDDDeviceInfo("TotalCylinders").ToString())
    
    
      ListBox1.Items.Add("HDD TotalSectors: " & HDDDeviceInfo("TotalSectors").ToString())
    
    
      ListBox1.Items.Add("HDD TracksPerCylinder: " & HDDDeviceInfo("TracksPerCylinder").ToString())
    
    
      ListBox1.Items.Add("HDD TotalHeads: " & HDDDeviceInfo("TotalHeads").ToString())
    
    
      ListBox1.Items.Add("HDD TotalTracks: " & HDDDeviceInfo("TotalTracks").ToString())
    
    
      ListBox1.Items.Add("HDD SectorsPerTrack: " & HDDDeviceInfo("SectorsPerTrack").ToString())
    
    
      ListBox1.Items.Add("HDD SCSILogicalUnit: " & HDDDeviceInfo("SCSILogicalUnit").ToString())
    
    
    Next
    
    
  End Sub
    
    
End Class
    
    

得到声卡信息

Imports System.Management
    
    
Public Class Form1
    
    
    Inherits System.Windows.Forms.Form
    
    
 
    
    
#Region " Windows Form Designer generated code "
    
    
 
    
    
  Public Sub New()
    
    
    MyBase.New()
    
    
    InitializeComponent()
    
    
  End Sub
    
    
 
    
    
  Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
    
    
    If disposing Then
    
    
      If Not (components Is Nothing) Then
    
    
        components.Dispose()
    
    
      End If
    
    
    End If
    
    
    MyBase.Dispose(disposing)
    
    
  End Sub
    
    
  Private components As System.ComponentModel.IContainer
    
    
  Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
    
    
   Private Sub InitializeComponent()
    
    
    Me.ListBox1 = New System.Windows.Forms.ListBox
    
    
    Me.SuspendLayout()
    
    
    '
    
    
    'ListBox1
    
    
    '
    
    
    Me.ListBox1.Location = New System.Drawing.Point(8, 8)
    
    
    Me.ListBox1.Name = "ListBox1"
    
    
    Me.ListBox1.Size = New System.Drawing.Size(272, 212)
    
    
    Me.ListBox1.TabIndex = 0
    
    
    '
    
    
    'Form1
    
    
    '
    
    
    Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
    
    
    Me.ClientSize = New System.Drawing.Size(292, 238)
    
    
    Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.ListBox1})
    
    
    Me.Name = "Form1"
    
    
    Me.Text = "Form1"
    
    
    Me.ResumeLayout(False)
    
    
 
    
    
  End Sub
    
    
 
    
    
#End Region
    
    
 
    
    
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
    
    Dim SoundDeviceQuery As New SelectQuery("Win32_SoundDevice")
    
    
    Dim SoundDeviceSearch As New ManagementObjectSearcher(SoundDeviceQuery)
    
    
    Dim SoundDeviceInfo As ManagementObject
    
    
    For Each SoundDeviceInfo In SoundDeviceSearch.Get()
    
    
      ListBox1.Items.Add("Sound Device Description: " & SoundDeviceInfo("Caption").ToString())
    
    
      ListBox1.Items.Add("Sound Device Status: " & SoundDeviceInfo("status").ToString())
    
    
      ListBox1.Items.Add("Sound Device Manufacturer: " & SoundDeviceInfo("Manufacturer").ToString())
    
    
    Next
    
    
  End Sub
    
    
 
    
    
End Class
    
    

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值