我正在使用 GetDriveSerialNumber() 在 Visual Basic 2010 中检索驱动器卷序列号。
我有以下进口:
Imports System
Imports System.IO
Imports System.Text
Imports System.Net.NetworkInformation
Imports System.Management
Imports System.Collections
Imports Microsoft.Win32
Imports Microsoft.VisualBasic
然后在模块中:
Dim path As String
'Get HD volume Serial Number from Function
Dim DriveVID As String = GetDriveSerialNumber()
功能是:
'Get HD Volume serial Number
Public Function GetDriveSerialNumber() As String
Dim DriveSerial As Long
Dim fso As Object, Drv As Object
'Create a FileSystemObject object
fso = CreateObject("Scripting.FileSystemObject")
Drv = fso.GetDrive(fso.GetDriveName(AppDomain.CurrentDomain.BaseDirectory))
With Drv
If .IsReady Then
DriveSerial = .SerialNumber
Else '"Drive Not Ready!"
DriveSerial = -1
End If
End With
'Clean up
Drv = Nothing
fso = Nothing
GetDriveSerialNumber = Hex(DriveSerial)
End Function
这适用于 10 台计算机中的 9 台,
只有一个给了我不同的 7 个字符,
反对它应该给我的8个字符,
即使我在 cmd 中输入 vol 命令,
在那台电脑上,
它给了我正确的 8 个字符的卷序列号,
有谁知道出了什么问题?