0

Visual Basic 2010 で GetDriveSerialNumber() を使用してドライブ ボリュームのシリアル番号を取得しています。

次のインポートがあります。

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 台のコンピューターでうまく機能します。

1つだけ別の7文字を返してくれます。

与えられるはずの8文字に反対し、

cmdでvolコマンドを入力しても、

そのコンピューターで、

正しい 8 文字のボリューム シリアル番号が表示されます。

誰が何が悪いのか知っていますか?

4

1 に答える 1