Hallo Udo,
ich habe das mal erweitert. 
Zum Test öffnest Du ein neues Projekt in VB6, löschst alles, was da an Code drin steht und fügst das hier ein:
Option Explicit
Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
Private Sub Form\_Paint()
Dim LDs As Long, Cnt As Long, sDrives As String, i As Integer, lw As String
LDs = GetLogicalDrives
sDrives = ""
For Cnt = 0 To 25
If (LDs And 2 ^ Cnt) 0 Then
sDrives = sDrives + Chr$(65 + Cnt)
End If
Next Cnt
For i = 1 To Len(sDrives)
lw = Mid(sDrives, i, 1) & ":\"
Me.Print lw & " ";
Select Case GetDriveType(lw)
Case 2
Me.Print "Removable"
Case 3
Me.Print "Drive Fixed"
Case Is = 4
Me.Print "Remote"
Case Is = 5
Me.Print "Cd-Rom";
If PathFileExists(lw & "autorun.inf") Then
Me.Print "CD mit Autorun ist eingelegt, Programmname: ";
CD lw
Else
Me.Print "CD mit Autorun ist nicht eingelegt"
End If
Case Is = 6
Me.Print "Ram disk"
Case Else
Me.Print "Unrecognized"
End Select
Next
End Sub
Private Sub CD(Laufwerk)
Dim Datei As String, l As Integer, txt As String, pos As Integer, n As Integer, prg As String, Zeichen As String
Datei = Laufwerk & "autorun.inf"
l = FileLen(Datei)
Open Datei For Binary As #1
txt = Input(l, #1)
Close #1
pos = InStr(txt, ".exe")
Do While Zeichen " "
Zeichen = Mid(txt, pos, 1)
If Zeichen " " Then
pos = pos - 1
n = n + 1
End If
Loop
prg = Mid(txt, pos, n + 4)
Me.Print prg
End Sub
‚Copy and paste‘ funktioniert bei mir nicht, Du wirst es Zeilenweise kopieren müssen. ;-( Pass auf die 'End Sub’s auf, da passieren leicht Fehler.
Nach dem Start, sollte auf der Form etwas über deine Laufwerke stehen. Liegt in einem Davon eine CD, dann staht auch das da. Gibt es auf der eine Autorun.inf steht auch der Name des Programms da, das gestartet wird.
Gruß, Rainer
PS. das Programm ist getestet und läuft bei mir fehlerfrei.