计算机二级vb和vba,读取本机硬件信息的VBA代码
讀取本機(jī)硬件信息的VBA代碼
分類:計(jì)算機(jī)等級
|
更新時(shí)間:2016-07-08|
來源:轉(zhuǎn)載
今天被朋友問到,如何在VB或者VBA代碼中讀取諸如硬盤或者CPU等硬件設(shè)備的序列號這一類信息。我寫了一個(gè)范例如下
1. 在我的機(jī)器上運(yùn)行的效果。我這個(gè)例子讀取了四部分信息(CPU,物理硬盤,邏輯磁盤,網(wǎng)卡)
2.代碼如下。代碼的原理是使用WMI接口。需要管理員權(quán)限才能執(zhí)行該代碼
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long來源:考試大
szCSDVersion As String * 128 ’ Maintenance string for PSS usage
End Type
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Const VER_PLATFORM_WIN32_NT = 2
Private Const VER_PLATFORM_WIN32_WINDOWS = 1
Private Const VER_PLATFORM_WIN32s = 0
’’’這個(gè)范例程序是讀取CPU,物理硬盤,邏輯磁盤,和網(wǎng)卡的有關(guān)序列號的
’’’作者:陳希章
’’’時(shí)間:2009年6月2日
Sub Test()
Dim len5 As Long, aa As Long
Dim cmprName As String
Dim osver As OSVERSIONINFO
’取得Computer Name
cmprName = String(255, 0)
len5 = 256
aa = GetComputerName(cmprName, len5)
cmprName = Left(cmprName, InStr(1, cmprName, Chr(0)) - 1)
Computer = cmprName ’取得CPU端口號來源:考試大
ActiveCell.Worksheet.Cells.Clear
Dim rng As Range
Set rng = Range("B7")
rng.Font.Bold = True
rng.Value = "CPU"
Set rng = rng.Offset(1)
Set CPUs = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2").ExecQuery("select * from Win32_Processor")
For Each mycpu In CPUs
rng.Value = mycpu.processorid
Set rng = rng.Offset(1)
Next
rng.Value = "Hard Disk"
rng.Offset(, 1).Value = "Media Type"
rng.Resize(, 2).Font.Bold = True
Set rng = rng.Offset(1)
Set disks = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2").ExecQuery("select * from Win32_DiskDrive")
For Each disk In disks
rng.Value = disk.pnpdeviceid
rng.Offset(, 1).Value = disk.mediatype
Set rng = rng.Offset(1)
Next
Set hds = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2").ExecQuery("select * fromWin32_LogicalDisk")
rng.Value = "Logic Disk Caption"
rng.Offset(, 1).Value = "VolumeSerialNumber"
rng.Resize(, 2).Font.Bold = True
Set rng = rng.Offset(1)
For Each hd In hds
rng.Value = hd.Caption
rng.Offset(, 1).Value = hd.VolumeSerialNumber
Set rng = rng.Offset(1)
Next
Set networks = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2").ExecQuery("select * fromWin32_NetworkAdapter")
rng.Value = "Caption"
rng.Offset(, 1).Value = "MAC Address"
rng.Offset(, 2).Value = "PNPDeviceID"
rng.Resize(, 3).Font.Bold = True
Set rng = rng.Offset(1)
For Each network In networks
rng.Value = network.Caption
rng.Offset(, 1).Value = network.macaddress
rng.Offset(, 2).Value = network.pnpdeviceid
Set rng = rng.Offset(1)
Next-全國最大教育類網(wǎng)站(www.Examda。com)
End Sub 來源:-計(jì)算機(jī)二級考試
總結(jié)
以上是生活随笔為你收集整理的计算机二级vb和vba,读取本机硬件信息的VBA代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机怎么模拟人,计算机能不能模拟人的思
- 下一篇: 一体机怎么修复音频服务器,教学触摸一体机