vb.net获取硬盘序号 vb获取硬盘物理序列号

win7下vb.net 如何获取硬盘序列号

Private Function 硬盘序列号() As String

桥西ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

Try

Dim myInfo As Microsoft.Win32.RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey("HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 1\Target Id 0\Logical Unit Id 0")

硬盘序列号 = Trim(myInfo.GetValue("SerialNumber"))

Catch

Try

Dim myInfo As Microsoft.Win32.RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey("HARDWARE\DEVICEMAP\Scsi\Scsi Port 1\Scsi Bus 1\Target Id 0\Logical Unit Id 0")

硬盘序列号 = Trim(myInfo.GetValue("SerialNumber"))

Catch

硬盘序列号 = ""

End Try

End Try

End Function

试下,如果返回为空,则表示失败。

在本机win8win8.1有效,不过好像在有些机器上没用。

VB中如何获取主板或硬盘的序列号,网上搜到的一些,看得不太明白,代码太多,有的还要进行一些复杂的

Function Comput()

On Error Resume Next

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_BaseBoard", , 48)

For Each objItem In colItems

Debug.Print "Caption: " objItem.Caption

Debug.Print "ConfigOptions: " objItem.ConfigOptions

Debug.Print "CreationClassName: " objItem.CreationClassName

Debug.Print "Depth: " objItem.Depth

Debug.Print "Description: " objItem.Description

Debug.Print "Height: " objItem.Height

Debug.Print "HostingBoard: " objItem.HostingBoard

Debug.Print "HotSwappable: " objItem.HotSwappable

Debug.Print "InstallDate: " objItem.InstallDate

Debug.Print "Manufacturer: " objItem.Manufacturer

Debug.Print "Model: " objItem.Model

Debug.Print "Name: " objItem.Name

Debug.Print "OtherIdentifyingInf " objItem.OtherIdentifyingInfo

Debug.Print "PartNumber: " objItem.PartNumber

Debug.Print "PoweredOn: " objItem.PoweredOn

Debug.Print "Product: " objItem.Product

Debug.Print "Removable: " objItem.Removable

Debug.Print "Replaceable: " objItem.Replaceable

Debug.Print "RequirementsDescription: " objItem.RequirementsDescription

Debug.Print "RequiresDaughterBoard: " objItem.RequiresDaughterBoard

Debug.Print "SerialNumber: " objItem.SerialNumber

Debug.Print "SKU: " objItem.SKU

Debug.Print "SlotLayout: " objItem.SlotLayout

Debug.Print "SpecialRequirements: " objItem.SpecialRequirements

Debug.Print "Status: " objItem.Status

Debug.Print "Tag: " objItem.Tag

Debug.Print "Version: " objItem.Version

Debug.Print "Weight: " objItem.Weight

Debug.Print "Width: " objItem.Width

Debug.Print

Next

End Function

注意:SerialNumber 所在的行就是

VB.NET获取硬盘信息的几种方法

strResult += 磁盘类型: System.Convert.ToInt16(disk(DriveType).ToString())End IfMsgBox(strResult)NextEnd Sub总结:在VB.NET中,用API函数可以获取硬盘信息。原来熟悉API函数VB6程序员,可以对API函数声明进行适当的更改后,进行调用。利用FSO(文件系统对象)的Scrrun.DLL,也可以获得磁盘信息。在.net Framwork中,利用WMI可以获取更多的关于机器硬件的详细信息(参考System.Management命名空间)。

vb中怎样获得硬盘序列号?

上面的硬盘序列号都是逻辑盘序列号

每次格式化时都会改变而且很容易更改

你需要的应是物理序列号,是硬盘出厂时固化的

全球唯一的十位字符

网上有人编好的getdiskinfo

好像vsit不能用

或用WMI:Win32_PhysicalMedia

不过用在vsit里得出的是20位的16进制字符串

你要设法检测与转换

我现在是把多种方法组合起来用

WMI功能比较强但初始化比较慢

我还用汇编试过,快不过不太稳定

例程我就不提供了,自己去搜索一下。


当前文章:vb.net获取硬盘序号 vb获取硬盘物理序列号
分享链接:http://ybzwz.com/article/dosoope.html