CD-Schublade ständig öffnen und schließen Verfasst am: 27.02.2008, 18:53
Also ich hab vor das bei nem click auf nem Button das CD-Laufwer auf und zu geht und nicht mehr aufhört bis man den Pc runterfährt...
Private Sub Command1_Click()
Call mciExecute("Set CDaudio door open")
End Sub
Private Sub Command2_Click()
Call mciExecute("Set CDaudio door closed")
End Sub
Nur halt das es nur ein Button ist und das Alles inner schelife hängt .. Nur wie mach ich das..
Ja ich weiss noob (nur um doofe antworten vorzubeugen -.-)
slayer616_ Coder
Anmeldedatum: 16.05.2007 Beiträge: 90
Verfasst am: 27.02.2008, 19:05
mit einem Timer.....
Peacebreaker_ Newbie
Anmeldedatum: 23.02.2008 Beiträge: 5
Verfasst am: 27.02.2008, 19:24
Tolle Detailierte Antwort ...
ZiG_ Überflieger
Anmeldedatum: 07.03.2007 Beiträge: 1248
Verfasst am: 27.02.2008, 19:28
Ich kann auch sagen, "Toller thread titel". -.-
Nächstes mal nen besseren ausdenken.
Und mehr als "Timer" kann man da nicht großartig sagen.
Du erstellst dir einen Timer, der abwechselnd den Befehl zum öffnen und den Befehl zum schließen gibt. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
c0re_ « Moderator »
Anmeldedatum: 29.11.2007 Beiträge: 425
Verfasst am: 27.02.2008, 19:53
Dafür brauchst du zuerst ein API Call. Es gibt eins für 16Bit und eins für 32Bit. Abhängig vom Prozessor wird die richtige API aufgerufen. Die API Calls werden ganz oben im Codefenster platziert.
Code:
' 16Bit
#If Win16 Then
Declare Function mciExecute Lib "MMSystem" (ByVal _
lpstrCommand As String) As Integer
' 32Bit
#ElseIf Win32 Then'32 Bit
Private Declare Function mciExecute Lib "winmm.dll" (ByVal _
lpstrCommand As String) As Long
#End If
So kannst du dann die CD Schublade öffnen:
Code:
mciExecute "Set CDaudio door open"
Schließen geht dann so:
Code:
mciExecute "Set CDaudio door closed"
Jetzt platzierst du einen Timer auf deiner Form.
In die Timer Sub schreibst du jetzt:
Code:
mciExecute "Set CDaudio door open"
mciExecute "Set CDaudio door closed"
Falls du das nicht weißt, ein Timer führt die Sub in einer Endlosschleife aus, bis sie beendet wird.
Timer aktivieren:
Code:
Timer1.Enabled = True
Timer deaktivieren:
Code:
Timer1.Enabled = False
Standardmäßig ist der Timer aktiviert, also stell die Eigenschaft Enabled erst mal auf False.
Jetzt machst du einen Button, der den Timer aktiviert wenn er deaktiviert ist und deaktiviert wenn er aktiviert ist.
Code:
If Timer1.Enabled = True Then
Timer1.Enabled = False
Else
Timer1.Enabled = True
End If
Der gesamte Code sieht nun so aus:
Code:
Option Explicit
#If Win16 Then
Declare Function mciExecute Lib "MMSystem" (ByVal _
lpstrCommand As String) As Integer
' 32Bit
#ElseIf Win32 Then'32 Bit
Private Declare Function mciExecute Lib "winmm.dll" (ByVal _
lpstrCommand As String) As Long
#End If
Private Sub Form_Load
Timer1.Enabled = False
End Sub
Private Sub Command1_Click
If Timer1.Enabled = True Then
Timer1.Enabled = False
Else
Timer1.Enabled = True
End If
End Sub
Private Sub Timer1_Timer
mciExecute "Set CDaudio door open"
mciExecute "Set CDaudio door closed"
End Sub
Oh man sorry, wenn das nicht deinem Niveau entspricht aber ich habe mich an diesen beiden Posts orientiert.