USB-Geräte mit VB erkennen

aurora_mk

Grünschnabel
Ich möchte mit Visual Basic 6.0 Enterprise ein Programm schreiben, das einen angeschlossenen Memory Stick Duo Pro erkennt und den Laufwerksbuchstaben erkennt. Weiterhin möchte ich einen eingegebenen Text als Volumenamen verwenden, habe aber keine Ahnung, wie beide Vorhaben zu realisieren sind... Hat vielleicht jemand einen Tipp für mich, wie ich dies machen könnte? Weitere Hinweise zu Verwaltungsmöglichkeiten dieses Gerätes per Visual Basic sind willkommen!
Jaja, vll sollte ich das wissen, bin aber noch eher ein Anfänger...:rolleyes:

Vielmals Danke im voraus!
 
Hallo,
sieh dir das mal an:
Dim Drive1(26) As Boolean
Dim KnownDrive(26) As Boolean
Private Sub Form_Load()
If App.PrevInstance Then End
Drive1DotRefresh
For i = 1 To 26
KnownDrive(i) = Drive1(i)
Next i
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
On Error Resume Next
Drive1DotRefresh
For i = 4 To 26
If Drive1(i) Then ' A USB Drive is currently inserted...
If KnownDrive(i) = False Then ' Ahh - it just happened!
KnownDrive(i) = True ' OK, so remember it's there.
DriveLetter$ = Chr$(64 + i) & ":"
AutoPlayFile$ = DriveLetter$ & "\AUTORUN.INF"
If Dir$(AutoPlayFile$) <> "" Then
Open AutoPlayFile$ For Input As #1
While Not EOF(1)
Line Input #1, A$
If InStr(UCase$(A$), "OPEN=") Or InStr(UCase$(A$), "OPEN =") Then
S = InStr(A$, "=")
Program$ = Trim$(Right$(A$, Len(A$) - S))
Program$ = DriveLetter$ & IIf(Left$(Program$, 1) <> "\", "\", "") & Program$
Shell Program$, vbNormalFocus
Close
GoTo UpdateKnownDrive:
End If
Wend
Close
End If
Exit Sub
End If
KnownDrive(i) = True
End If
Next i
UpdateKnownDrive:
For i = 4 To 26
KnownDrive(i) = Drive1(i)
Next i
End Sub
Sub Drive1DotRefresh()
On Error GoTo NoDrive:
For i = 4 To 26
DriveLetter$ = Chr$(64 + i)
Drive1(i) = Dir$(DriveLetter$ & ":\AutoRun.inf") <> ""
NextDrive:
Next i
T = Timer + 0.1
While T > Timer
DoEvents
Wend
Exit Sub
NoDrive:
Resume NextDrive:
End Sub

Timer auf False und Intervall 1000.
P.S. Deine VB-Version ist nicht zufällig auf Englisch?
 
Ja, meine Version ist englisch. Warum? Ist das von Bedeutung?

Danke schonmal für den vielen Quelltext, obwohl ich da nicht so ganz durchblicke...^^
 
Zurück