La funzione API GetLogicalDriveStrings permette di stabilire quali unità logiche sono installate sul personal computer.
Il nome delle rispettive directory root (“cartelle radice”) vengono memorizzate nella stringa LpBuffer.
Ecco la sintassi della funzione API:
Ogni identificativo di ciascuna directory root è separato, nella stringa LpBuffer, da un carattere “null”.
L’intera stringa termina, poi, con due caratteri “null”.
Ad esempio: se sono collegati al computer sono due unità disco (A e C), la stringa lpbuffer sarà uguale a quanto segue:
a:\(null)c:\(null)(null)
dove (null) rappresenta il carattere “null”.
Funzionamento garantito su Windows 9x/NT.
Dim drivenames As String ' riceve la lista delle dir root
Dim thisdrive As String ' buffer per la dir root estratta
Dim c As Long ' variabile contatore
Dim slength As Long ' lunghezza della stringa
drivenames = Space(255)
slength = GetLogicalDriveStrings(255, drivenames)
'conta di quattro in quattro per estrarre i nomi di ciascuna unità
For c = 1 To slength Step 4
thisdrive = Mid(drivenames, c, 3)
MsgBox thisdrive ' mostra il nome dell'unità estratta
Next c