VB 取磁盘序列号

前端之家收集整理的这篇文章主要介绍了VB 取磁盘序列号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如何获取磁盘序列号呢?获取磁盘序列号的方法有很多、如通过调用"\\.\PhysicalDrive0"

、"\\.\SCSI0: "等驱动,也可以通过"WMI Services",不过本文中都不会使用前面列举的

方法,而是通过“系统核心库”导出的GetVolumeInformation函数,或许你会感到疑惑 从

字面看应该是“取音量信息”与“磁盘序列号”没有任何关系吧,在当初我接触到这方面得资

料时也有不小疑惑,但是如果翻译成“取磁卷信息”那么或许便可以理解了吧、

在上图中,可以看到通过GetVolumeInformation函数,可以获取磁盘卷标”、“文件系统

包括磁盘序号”等信息,当然从本文标题中可以看到,只需要“磁盘序号”的信息、

上面是“GetVolumeInformation函数的导入声明,我阐述下该函数参数的信息吧、

lpRootPathName 欲取信息磁卷根路径

lpVolumeNameBuffer 磁卷名称缓冲区

nVolumeNameSize 磁卷名称缓冲区尺寸

lpVolumeSerialNumber 磁盘序号缓冲区

lpMaximumComponentLength 文件名称分段尺寸

lpFileSystemFlags 文件系统标志

lpFileSystemNameBuffer 文件系统名称缓冲区

nFileSystemNameSize 文件系统名称缓冲区尺寸

取磁卷信息,如果成功返回真否则返回假

    Public Const MAX_BYTE = 255
    Public Const NULL = 0

    Sub Main()
        Console.Title = "取磁盘序列号"
        Dim iNumOfSerials As Integer = NULL
        Dim strLabelBuffer = Space(MAX_BYTE),strFileSysName = Space(MAX_BYTE)
        If (GetVolumeInformation("C:\",strLabelBuffer,MAX_BYTE,iNumOfSerials,strFileSysName,MAX_BYTE)) Then
            Console.WriteLine("磁盘卷标: " + strLabelBuffer.TrimEnd())
            Console.WriteLine("文件系统: " + strFileSysName.TrimEnd())
            Console.WriteLine("磁盘序号: " + iNumOfSerials.ToString("X2"))
        End If
        Console.ReadKey(False)
    End Sub
上面是一个很简单的示例代码,但是需要导入以来的命名空间,所以你需要在

你的文件代码页顶部使用下面这句话

Imports System.Runtime.InteropServices

示例代码 http://pan.baidu.com/s/1kUxEIMV

猜你在找的VB相关文章