Trovare le unità logiche installate sul pc

La funzione API GetLogicalDriveStrings permette di stabilire quali unità logiche sono installate sul personal computer.

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:

Declare Function GetLogicalDriveStrings Lib "kernel32.dll" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

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

Ti consigliamo anche

Link copiato negli appunti