ID van hd lezen

Status
Niet open voor verdere reacties.

satriano

Gebruiker
Lid geworden
13 feb 2006
Berichten
44
dag.

ik had een code om de id van een hd te lezen, nodig.(in vb6)

Ik heb op internet een (goed werkende) voorbeeldje gevonden.
Echter de gevonden voorbeeld-code leest automatisch de Drive waar
het programma wordt gerund.
Bv.
Als ik vb heb op c:\ en ik de programmatje draai, dan wordt automatish het ID nummer van C: getoond.

Ik heb geprobeerde een textbox als input te gebruiken om de id van een gewenste drive te lezen maar het lukt mij niet.

Dus: als ik in textbox1 C ingeef dan zou het id van C getond worden. Als ik in tekstbox1 D ingeef dan zou de id nummer van D getoond , enz.
kan iemand een aanpassing van volgende code kunnen geven?
dank. satriano

Code:
Public Declare Function GetVolumeSerialNumber Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As Long, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, ByVal lpMaximumComponentLength As Long, ByVal lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As Long, ByVal nFileSystemNameSize As Long) As Long

Public Function VolumeSerial(DriveLetter) As Long
    Dim Serial As Long
    Call GetVolumeSerialNumber(UCase(DriveLetter) & ":\", 0&, 0&, Serial, 0&, 0&, 0&, 0&)
    VolumeSerial = Serial
End Function



MsgBox VolumeSerial("C")
 
Laatst bewerkt:
Code:
 Call GetVolumeSerialNumber(UCase(DriveLetter) & ":\", 0&, 0&, Serial, 0&, 0&, 0&, 0&)

DriveLetter moet vervangen worden door text1.text. :)
 
dag. Bedankt voor de tip maar...

ik krijg 0 als id nummer

ik heb een textbox 'drive' op het formulier geplaats;
als ik bij run in 'drive' een letter ingeef (C, D...) dan krijg ik niet het id nummer van de betreffende drive maar 0 (nul)

Heb ik iets verkeerde gedaan?
dank u



Code:
Public Declare Function GetVolumeSerialNumber Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As Long, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, ByVal lpMaximumComponentLength As Long, ByVal lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As Long, ByVal nFileSystemNameSize As Long) As Long

Public Function VolumeSerial(DriveLetter) As Long
    Dim Serial As Long
    Call GetVolumeSerialNumber(UCase(Drive) & ":\", 0&, 0&, Serial, 0&, 0&, 0&, 0&)
    VolumeSerial = Serial
End Function



MsgBox VolumeSerial(Drive)


End Sub
 
Sorry,COD_NL , je had gelijk, het is opgelost !!!!

ik heb de textbox 'driveletter' genoemd en daarna

hier aangepast


Code:
MsgBox VolumeSerial(Driveletter)

en nu kan ik de drive kiezen voor de id nummer

Nogmaals bedankt voor de tip !!

satriano
 
Laatst bewerkt:
DE vraag is dus OPGELOST

Nogmals bedankt !

satriano
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan