CD-Rom Laufwerk

Hallo Leute
Mit folgendem Code frage ich ab, ob das CD-Rom Laufwerk betriebsbereit ist, d.h. ob ich Daten lesen kann.
Das funktioniert einwandfrei, mein Problem ist nur, wenn ich die CD gerade erst eingelegt habe, dann liefert mir diese Funktion natürlich false zurück, weil das CDRom Laufwerk natürlich noch nicht betriebsbereit ist.

Momentan realisiere ich es einfach so, daß ich einen Timer laufen lasse und erst wenn nach dem einlegen der CD 10 sec abgelaufen sind wird die Function ausgeführt.

Das ist aber keine schöne Lösung, weil das CD-Rom Laufwerk nicht immer 10 sec braucht sondern oft nur ein zwei sekunden.

Hat irgendjemand eine Idee wie ich das Problem anders lösen kann???

Danke für eure Zeit!

lg Loki

Public Function IsCdDvdDriveReady(DriveLetter As String)
Dim fs, d, s
Set fs = CreateObject(„Scripting.FileSystemObject“)
Set d = fs.GetDrive(DriveLetter)
If d.DriveType = 4 Then
IsCdDvdDriveReady = d.IsReady
Else
IsCdDvdDriveReady = False
MsgBox („This Drive is no CD/DVD Drive!!!“)
End If
End Function

Hallo,

also entwender eine Schleife
do

loop until d.IsReady

oder der Form über eine Eigenschaft den
verweis auf das Filesystemobject übergeben
und dann im Timerereignis prüfen

MfG CB

Danke Christian

Das konnte ich zwar in meinem Programm nicht verwenden, hat mich aber auf einen andere Idee gebracht und so funkt das jetzt!

thx
cu Loki

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]