Option Explicit
Dim DiskHarfi As String
Dim Diskismi As String * 11
Dim DiskismiBoyu As Long
Dim SeriNo As Long
Dim Onemsiz1 As Long
Dim Onemsiz2 As Long
Dim Onemsiz3 As String
Dim Onemsiz4 As Long
Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal DiskHarfi As String, ByVal Diskismi As String, ByVal DiskismiBoyu As Long, SeriNo As Long, Onemsiz1 As Long, Onemsiz2 As Long, ByVal Onemsiz3 As String, ByVal Onemsiz4 As Long) As Long
Sub Main()
MsgBox ("Harddisk C'nin" + vbCrLf + "Seri numarası: " + SeriNumarasiÖğren("C:\") + vbCrLf + "Etiketi: " + LabelÖğren("C:\"))
End
End Sub
Function SeriNumarasiÖğren(Sürücü As String) As String
Dim Bak As Long
Dim Seri As String
DiskHarfi = Sürücü
DiskismiBoyu = Len(Diskismi)
Bak = GetVolumeInformation(DiskHarfi, Diskismi, DiskismiBoyu, SeriNo, Onemsiz1, Onemsiz2, Onemsiz3, Onemsiz4)
If Bak Then
Seri = Right(String(8, "0") + Hex(SeriNo), 8)
Seri = Left(Seri, 4) + "-" + Mid(Seri, 5)
SeriNumarasiÖğren = Seri
Else
SeriNumarasiÖğren = "Hata"
End If
End Function
Function LabelÖğren(Sürücü As String) As String
Dim Bak As Long
DiskHarfi = Sürücü
DiskismiBoyu = Len(Diskismi)
Bak = GetVolumeInformation(DiskHarfi, Diskismi, DiskismiBoyu, SeriNo, Onemsiz1, Onemsiz2, Onemsiz3, Onemsiz4)
If Bak Then
LabelÖğren = Diskismi
Else
LabelÖğren = "Hata var!!!"
End If
End Function