Ecco un piccolo esempio di come ricavare l'ID di una chiave USB in modo semplice e un pò grezzo, ossia con il comando dos Label.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Dim Testo As String, Trovato As Long
Open "C:\Temp.bat" For Output As #1
Print #1, "label F: " & Chr(34) & "C:\prova.txt" & Chr(34);
Close #1
Shell ("C:\Temp.bat"), vbHide
Sleep 500
Shell ("taskkill /F /IM label.exe"), vbHide
Kill "C:\Temp.bat"
Testo = GetFData("C:\prova.txt")
Sleep 500
Kill "C:\prova.txt"
Trovato = InStr(1, Testo, "del volume: ", vbTextCompare)
Text1.Text = Mid$(Testo, Trovato + 12, Len(Testo) - 12)
End Sub
Nel modulo
Public Function GetFData(ByRef TotalPath As String)
Dim FData As String
On Error GoTo Error
Open TotalPath For Binary As #1
FData = Space(LOF(1))
Get #1, , FData
Close #1
GoTo Giusto
Error:
MsgBox "Errore nel caricamento del file" & vbNewLine & "Nome file o percorso errati", vbCritical, "Critical Error"
End
Giusto:
FData = Mid$(FData, 1, Len(FData) - 2)
GetFData = FData
End Function
Altri link e metodi utili a questo indirizzo.