VBRSOFT eh exatamente esse que não deu certo, esse foi o primeiro que eu testei!! Ele retorna 0 somente isso mas eu axei um aqui que deu certo ou pelo menos eu axo pq mostro bastante numero hehe: Ae vai o fonte:"
Num módulo, inclua o código abaixo:
Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal _
lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
Public Function DriveSerialNumber(strDrive As String) As String
Dim x As Long, lngSerialNum As Long
Dim strRoot As String
strRoot = Left$(strDrive, 1) & ":"
x = GetVolumeInformation(strRoot, "", 0, lngSerialNum, 0, 0, "", 0)
DriveSerialNumber = Hex$(lngSerialNum)
End Function
No formulário, chame a função DriveSerialNumber, passando como parâmetro a unidade desejada. É necessário passar apenas a letra da unidade. Exemplo:
MsgBox "O número de série do HD é: " & DriveSerialNumber("C")
É isso, eu fiz o tópico e acabei ajudando um monte de gente huaheuhaueha! Comédia!!
T+