读取本机硬件信息的VBA代码

分类:计算机等级

|

更新时间:2016-07-08|

来源:转载

今天被朋友问到,如何在VB或者VBA代码中读取诸如硬盘或者CPU等硬件设备的序列号这一类信息。我写了一个范例如下

1. 在我的机器上运行的效果。我这个例子读取了四部分信息(CPU,物理硬盘,逻辑磁盘,网卡)

2.代码如下。代码的原理是使用WMI接口。需要管理员权限才能执行该代码

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

’’’这个范例程序是读取CPU,物理硬盘,逻辑磁盘,和网卡的有关序列号的

’’’作者:陈希章

’’’时间: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-全国最大教育类网站(www.Examda。com)

End Sub 来源:-计算机二级考试

计算机二级vb和vba,读取本机硬件信息的VBA代码相关推荐

  1. 安徽省计算机二级VB笔试题,[考试中心]安徽省计算机二级VB笔试权威模拟试题及答案2...

    <[考试中心]安徽省计算机二级VB笔试权威模拟试题及答案2>由会员分享,可在线阅读,更多相关<[考试中心]安徽省计算机二级VB笔试权威模拟试题及答案2(9页珍藏版)>请在人人文 ...

  2. 福建省计算机二级vb试题及答案,福建省计算机二级VB考的是什么内容?

    原标题:福建省计算机二级VB考的是什么内容? 福建省计算机二级VB考的是什么内容? 一.对于笔试:二级VB考试的考题内容很细,没有复杂的算法题,最多只是一些看起来复杂(其实很有规律)的循环题.那么,我 ...

  3. 计算机二级vb常考知识点,计算机二级VB考试重点考点

    计算机二级VB考试重点考点 计算机二级考试备考工作已经进入火热的状态了,为了更好的让考生有目的的进行复习,下面就是小编跟大家分享计算机二级VB考试重点考点,欢迎大家阅读! 一.变量或常量的命名规则 1 ...

  4. 计算机跳转列表常用组合框,2015计算机二级VB考点复习指导:列表框和组合框

    2015计算机二级VB考点复习指导:列表框和组合框 (一)列表框 1.属性 列表框所支持的标准属性包括Enabled.FontBold.FontItalic.FontName.FontUnderlin ...

  5. 计算机二级考试vb内容,计算机二级VB考试内容大纲

    计算机二级VB考试内容大纲 以下是教育部考试中心最新发布的<计算机二级VB考试内容大纲>,供想考计算机二级VB的学生参考. 1. Visual basic程序开发环境 一.Visual B ...

  6. 全国计算机等级AJIL,全国计算机二级VB知识点2015第一次课

    <全国计算机二级VB知识点2015第一次课>由会员分享,可在线阅读,更多相关<全国计算机二级VB知识点2015第一次课(20页珍藏版)>请在人人文库网上搜索. 1.全国计算机二 ...

  7. c语言vb考试试题,湖南省计算机二级VB以及C语言考试(OFFICE部分基础选择题)

    湖南省计算机二级VB以及C语言考试(OFFICE部分基础选择题) 计算机等级考试 1. 二进制数1111.1对应的八进制数是(C ). A. 17.5 B. 15.4 C. 17.4 D. 17.1 ...

  8. 用vb脚本语言找出c盘所有文件及其子文件中后缀名为.txt的文档,2012年3月计算机二级VB练习题及答案:文件...

    一. 单选题 1.关于顺序文件的描述,下面正确的是 ________. A) 每条记录的长度必须相同 B) 可通过编程对文件中的某条记录方便地修改 C) 数据只能以ASCII码形式存放在文件中,所以可 ...

  9. 计算机二级vb常考知识点,全国计算机二级vb考试应考注意事项

    程序设计语言理论是计算机科学的一个分支,主要处理程序设计语言的设计.实现.分析.描述和分类,以及它们的个体特性.下面是小编整理的关于全国计算机二级vb考试应考注意事项,欢迎大家参考! 全国计算机二级v ...

最新文章

  1. python编程100例画图-python 画图示例源码(Turtle Graphics)
  2. MinGW:sjlj vs dwarf vs seh有什么区别?
  3. 客户端服务端防止用户重复提交表单
  4. 矩阵相乘的strassen算法_矩阵乘法的Strassen算法+动态规划算法(矩阵链相乘和硬币问题)...
  5. [Classic] 日文版《出师表》
  6. python随机数据随概率分布_概率分布及其Python实现
  7. oracle 数据库回闪,各种数据库闪回的总结
  8. 人机协同、数据驱动,云时代SOC的演进之路
  9. QQ模拟自动登录实现
  10. 不兼容惹的祸,Calibre 作者拒绝迁移至 Python 3
  11. linux添加静态ipv6路由,请问如何在CentOS7上配置已经静态路由好的IPv6地址块?
  12. 前端vue生成二维码
  13. 德玛西亚服务器显示排队,英雄联盟排队怎么进入-英雄联盟:激斗峡谷(国际服 LOL:Wild Rift)问答专区-OurPlay...
  14. android 7.0 2g,LG美国定制机曝光:2GB内存,搭载安卓7.0系统
  15. DOS之父加里·基尔代尔
  16. VS2015 编译开源的基于Opencascade的3D查看器Mayo
  17. 食品品牌如何做好消费需求洞察直抵消费者心智
  18. C/C++开发工程师面试题整理(二)——操作系统进程、线程
  19. CSDN程序员俱乐部里活动热闹,成都、杭州、济南活动盛花绽放~
  20. mysql中in的用法详解

热门文章

  1. 尽量使用const、enum、inline代替#define
  2. JAVA NIO之文件通道
  3. mysql高效索引之覆盖索引
  4. Matlab内置的矩阵反转函数
  5. Python图像处理库PIL -- 学习资源
  6. 利用 Bootstrap 进行快速 Web 开发
  7. 程序员面试题精选100题(35)-两链表的第一个公共结点[数据结构]
  8. 鸟哥的Linux私房菜(基础篇)-第二章、 Linux 如何学习(二.2. 鸟哥的Linux苦难经验全都录)
  9. webpack打包html里的img图片
  10. ADB设置连接android真机