OVH Cloud OVH Cloud

N° serie dun DD

2 réponses
Avatar
mg
Salut, je souhaite récupérer le N° série du DD.
Jia troouve du code qui utilise FSo, mais je prefere utiliser les API,
kulkun peu maider.

merci davance

2 réponses

Avatar
Christian Hubert-Hugoud
Salut,

Voila mon code :

Public Function GetHardDiskSerialNumber$()

Const cMaxPath = 256, cDrive = "C:"
Dim lngtemp
Dim strTemp As String, lngRet As Long
Dim lngVolSerial As Long, strVolName As String * cMaxPath
Dim lngMaxCompLen As Long, lngFileSysFlags As Long
Dim strFileSysName As String * cMaxPath

lngRet = GetVolumeInformation(cDrive, strVolName, cMaxPath, lngtemp,
lngMaxCompLen, lngFileSysFlags, strFileSysName, cMaxPath)
strTemp = Format(Hex(lngtemp), "00000000")
GetHardDiskSerialNumber = strTemp

End Function

Public 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

Hope this helps

Christian


"mg" a écrit dans le message de news:
%
Salut, je souhaite récupérer le N° série du DD.
Jia troouve du code qui utilise FSo, mais je prefere utiliser les API,
kulkun peu maider.

merci davance




Avatar
jt
je pense que voila ton bonheur
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

Private Sub Form_Load()

'KPD-Team 1998

'URL: http://www.allapi.net/

'E-Mail:

Dim Serial As Long, VName As String, FSName As String

'Create buffers

VName = String$(255, Chr$(0))

FSName = String$(255, Chr$(0))

'Get the volume information

GetVolumeInformation "C:", VName, 255, Serial, 0, 0, FSName, 255

'Strip the extra chr$(0)'s

VName = Left$(VName, InStr(1, VName, Chr$(0)) - 1)

FSName = Left$(FSName, InStr(1, FSName, Chr$(0)) - 1)

MsgBox "The Volume name of C: is '" + VName + "', the File system name of
C: is '" + FSName + "' and the serial number of C: is '" +
Trim(Str$(Serial)) + "'", vbInformation + vbOKOnly, App.Title

End Sub

"mg" a écrit dans le message de news:
%
Salut, je souhaite récupérer le N° série du DD.
Jia troouve du code qui utilise FSo, mais je prefere utiliser les API,
kulkun peu maider.

merci davance