Son yazdığınız kod bana ilham oldu ve VOL değeri 8 krakterden oluşmak zorunda olduğundan Hex komutu "0" ve Null değerlerini desteklemeyip okumadığından öncelikle bulduğu değerin Len komutu ile basamak sayısına bakıp eğer 8 den küçükse komutu ile başa "0" eklemeyi başardım. İleride örnek olması için kodun son hali şu şekildedir..
Kod:
Public Function HDSerialNumber() As String
Dim fsObj As Object
Dim drv As Object
Set fsObj = CreateObject("Scripting.FileSystemObject")
Set drv = fsObj.Drives("C")
Deger = Left(Hex(drv.SerialNumber), 9)
If Len(Deger) < 8 Then
HDSerialNumber = "0" & Left(Deger, 3) & "-" & Right(Deger, 4)
Else
HDSerialNumber = Left(Deger, 4) & "-" & Right(Deger, 4)
End If
End Function
Kod:
Private Sub Form_Load()
Me.Vol.Caption = HDSerialNumber
End Sub