PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CD-Laufwerk auswerfen


Gast
2004-05-23, 19:06:43
Hallo,

ich habe mit folgendem Code vor das CD-Laufwerk zu öffnen bzw. zu schließen.

Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long

Private Sub Command1_Click()
'Laufwerkstür öffnen
Call mciExecute("Set CDaudio door open")
End Sub

Private Sub Command2_Click()
'Laufwerkstür schließen
Call mciExecute("Set CDaudio door closed")
End Sub

So, nun will ich aber nur einen Command-Button, der erkennt ob das Laufwerk offen oder zu ist und dementsprechend es auf- bzw zumacht. wie kann ich das schaffen?

Lrrr
2004-05-24, 00:24:27
Hallo,

die meisten Win32 API Funktionen geben einen Wert zurück. In der Regel ist dies 0 für Erfolg und != 0 für einen Fehler.

Ich bin mir leider nicht sicher, ob "mciExecute" != 0 zurückliefert, falls versucht wird, ein schon offenes Laufwerk zu öffnen bzw. ein schon geschlossenes zu schliessen, das könntest Du ja einmal ausprobieren. Sollte dies so sein, dann kannst Du Deinen Code entsprechend ändern, um so den Status abzufragen, im Pseudcode:


result = mciExecute("Set CDaudio door open")
IF result <> 0 THEN
mciExecute("Set CDaudio door closed")
END IF

Gast
2004-05-24, 01:15:46
danke für die antwort. hab ein bissel damit rumprobiert, aber es scheint nicht klappen zu wollen.

wenn man mit result=mciExecute("...") etwas abfragt, dann führt er dieses mciExecute gleich aus sodass ob offen oder geschlossen immer dieselbe antwort kommt. ich denk aber es war schon die richtige idee, nur ist da bei mir ein kleiner denkfehler drin. wäre cool wenn man das abfragen könnte ohne das er dass ausführt...

hqhq5hq53
2004-05-24, 09:33:12
mciExecute gibt imo nur zurück, ob der Befehl erfolgreich war.

Ich kenne jetzt auch keinen Funktionsaufruf, um festzustellen, welchen Status die Laufwerksklappe hat.

Du könntest aber vielleicht prüfen, ob du auf eine CD zugreifen kannst, wenn ja, ist das Laufwerk sicher geschlossen.

Oder du versetzt das Laufwerk in einen definierten Zustand, in dem du z.B. immer zuerst die Tür schließt.