OVH Cloud OVH Cloud

Comment obtenir le numéro physique de disque dur sous VB6

2 réponses
Avatar
zoheir
Bonjour =E0 tous,
je travail sous VB6 et j'ai besoin de savoir comment obtenir le num=E9ro
physique de disque dur
cordialement,
merci

2 réponses

Avatar
Picalausa François
"zoheir" a écrit dans le message de news:

je travail sous VB6 et j'ai besoin de savoir comment obtenir le numéro
physique de disque dur

Hello,

Tu peux le faire soit par WMI:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_physicalmedia.asp

Ou alors par les API win32:
Option Explicit

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()
Dim lngSerial As Long

If GetVolumeInformation("c:", ByVal vbNullString, 0, _
lngSerial, ByVal 0&, ByVal 0&, _
ByVal vbNullString, ByVal 0&) Then

Debug.Print lngSerial
End If

End Sub

--
Picalausa François
Avatar
zoheir
salut François,
merci pr ta réponse
j'ai besoin de cette information pour mon instalable , seulement j'ai
déjà
utilisé cette API : GetVolumeInformation qui me donne le numéro
logique de disque et pas le numéro physique et pour le meme PC, elle
me donner a chq fois un numéro différent a chq formatage du disque ou
changement de systeme!!!!
parcontre je vais voir résoudre ca par WMI
cordialement
merci


mais seulement
Picalausa François a écrit :

"zoheir" a écrit dans le message de news:

je travail sous VB6 et j'ai besoin de savoir comment obtenir le numéro
physique de disque dur

Hello,

Tu peux le faire soit par WMI:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk /wmi/win32_physicalmedia.asp

Ou alors par les API win32:
Option Explicit

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()
Dim lngSerial As Long

If GetVolumeInformation("c:", ByVal vbNullString, 0, _
lngSerial, ByVal 0&, ByVal 0&, _
ByVal vbNullString, ByVal 0&) Then

Debug.Print lngSerial
End If

End Sub

--
Picalausa François