回 帖 发 新 帖 刷新版面

主题:如可用vb.net取硬盘物理序列号

请问:[em18]
    如可在用vb.net取硬盘物理序列号,谢谢!如果方便请详细解释一下。

[em63][em63][em63][em63][em63]

回复列表 (共3个回复)

沙发

要获取硬盘序列号,需要访问注册表.实际操作如下,建立一个新的窗体,在上面添加一个标签Label1,一个按钮Command1,实现:按下按钮,在标签上显示硬盘序列号.
代码:

Imports system
Imports Microsoft.Win32
Imports system.Diagnostics
Imports system.Windows.Forms

'以上创建命名空间

Private Command1_Click(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles Command1.Click

Dim myDec As RegistryKey
Dim myScsi As RegistryKey
Dim myPort As RegistryKey
Dim myBus As RegistryKey
Dim myHd As RegistryKey
Dim myInfo As RegistryKey
Dim myHW As RegistryKey
Dim myLM As RegistryKey

'定义获取硬盘序列号的节点

myLM=Registry.LocalMachine
myHW=myLM.OpenSubKey("HARDWARE")
myDec=myHW.OpenSubKey("DEVICEMAP")
myScsi=myDec.OpenSubKey("Scsi")
myPort=myScsi.OpenSubKey("Scsi Port 1")
myBus=myPort.OpenSubKey("Scsi Bus 0")
myHd=myBus.OpenSubKey("Target Id 0")
myInfo=myHd.OpenSubKey("Logical Unit Id 0")

'获取硬盘序列号

Me.Label1.Text=myInfo.GetValue("Identifier")

'在标签上显示出来

程序的关键就是通过访问注册表来获取硬盘相关信息,同样,也可以获取CPU,光驱等信息.

板凳

那如果是移动硬盘要怎么取得物理序列号呢

3 楼

那取那个产品ID呢,就像那个版本下面的串号。76481-640-2449187-23653,这个也得读注册表吧。

我来回复

您尚未登录,请登录后再回复。点此登录或注册