精品主页 | 软件下载 | 系统下载 | 精品导航| 精彩图片 | 转帖工具 | 版主申请 | 影视下载
发新话题
打印

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

VB.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

   <SYSTEM.DIAGNOSTICS.DEBUGGERSTEPTHROUGH()>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

   <SYSTEM.DIAGNOSTICS.DEBUGGERSTEPTHROUGH()>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

   <SYSTEM.DIAGNOSTICS.DEBUGGERSTEPTHROUGH()>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

   <SYSTEM.DIAGNOSTICS.DEBUGGERSTEPTHROUGH()>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  

TOP

发新话题