CD-Laufwerke öffnen und schließen

mciSendString, mciExecute, GetDriveType
Private Declare Function mciSendString Lib "winmm.dll" _ Mit diesem Programm kann nur eine CD-Tür geöffnet werden.
 Alias "mciSendStringA" (ByVal lpstrCommand As String, _
 ByVal lpstrReturnString As String, ByVal uReturnLength _
 As Long, ByVal hwndCallback As Long) As Long
Private Sub cmdClose_Click()
 cmdClose.Visible = False Button "Close" ist nicht sichtbar.
 cmdOpen.Visible = True
 mciSendString "Set CDAudio Door Closed Wait", 0&, 0&, 0& CD-Tür wird geschlossen.
End Sub
Private Sub cmdOpen_Click()
 cmdClose.Visible = True
 cmdOpen.Visible = False Button "Open" ist nicht sichtbar.
 mciSendString "Set CDAudio Door Open Wait", 0&, 0&, 0& CD-Tür wird geöffnet.
End Sub
Private Sub Form_Click()
 mciSendString "Set CDAudio Door Closed Wait", 0&, 0&, 0& Bei Klick auf das Formular wird die CD-Tür geschlossen
 Unload Me und das Programm beendet.
End Sub
Private Sub Form_Load()
With Form1
 .Width = 1440 Breite des Formulars.
 .CurrentX = 100 Position für Textausgabe auf Formular.
 .CurrentY = 90
End With
 Form1.Print "x" Textausgabe des "x".
 Me.Move (Screen.Width - Me.Width) / Me.Width, _ Position des Formulars am Monitor (links oben).
  (Screen.Height - Me.Height) / Me.Height
 
 cmdClose.Visible = True
 cmdOpen.Visible = False
 mciSendString "Set CDAudio Door Open Wait", 0&, 0&, 0& Bei Programmstart wird die CD-Tür geöffnet.
End Sub
   
Private Declare Function mciExecute Lib "winmm.dll" _ Mit diesem Programm kann eine bestimmte CD-Tür geöffnet
 (ByVal lpstrCommand As String) As Long sowie alle offenen Türen geschlossen werden.
Private Declare Function GetDriveType Lib "kernel32" _
 Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Dim i%, n%, typ$, nDrive$, nExec$, nAlias$, nResult As Long
Dim index%, Drive$, OpenClose As Boolean, OpenCloseCD As Boolean
Const DRIVE_CDROM = 5 Laufwerkstyp für CD-Laufwerke ist 5.
Private Sub Form_Load()
For i = 0 To 25
 typ = GetDriveType(Chr(i + 65) + ":\") CD-Laufwerke ermitteln und in eine Listbox stellen.
  If typ = DRIVE_CDROM Then
   List1.AddItem Chr(i + 65) + ":\"
  End If
Next i
With Form1
 .CurrentX = 100 Position für Textausgabe auf Formular.
 .CurrentY = 240
End With
 Form1.Print "x" Textausgabe des "x".
Me.Move (Screen.Width - Me.Width) / Me.Width, _ Position des Formulars am Monitor (links oben).
(Screen.Height - Me.Height) / Me.Height
End Sub
Private Sub List1_Click() Eine bestimmte Tür öffnen.
 nDrive = List1.List(List1.ListIndex) Das in der Listbox angeklickte Laufwerk wird geöffnet.
 OpenClose = True
 Call Close_Open(nDrive, OpenClose) Aufruf eines Sub-Programmes mit Übergabe von Variablen.
End Sub
Private Sub List1_DblClick() Eine bestimmte Tür schließen.
 nDrive = List1.List(List1.ListIndex) Das in der Listbox angeklickte Laufwerk wird geschlossen.
 OpenClose = False
 Call Close_Open(nDrive, OpenClose) Aufruf eines Sub-Programmes mit Übergabe von Variablen.
End Sub
Private Sub Form_Click() Alle Türen schließen.
n = List1.ListCount Wie viele Laufwerke stehen in der ListBox?
Do While n Schleifenverarbeitung, um alle Laufwerke zu schließen.
 n = n - 1
 nDrive = List1.List(n)
 OpenClose = False
 Call Close_Open(nDrive, OpenClose) Aufruf eines Sub-Programmes mit Übergabe von Variablen.
Loop
Unload Me Programm beenden.
End Sub
Private Sub Close_Open(nDrive, OpenClose)
nAlias = "CDDrive" & nDrive Strings zur Weiterverarbeitung im Rechner werden benötigt.
nExec = "Open " & nDrive & ": Type CDAudio Alias " & nAlias
nResult = mciExecute(nExec)
If nResult Then Ermitteln, ob Tür offen oder geschlossen ist.
 If OpenClose Then
  nExec = "Set " & nAlias & " Door Open" String erzeugen: Tür öffnen.
 Else
  nExec = "Set " & nAlias & " Door Closed" String erzeugen: Tür schließen.
 End If
 nResult = mciExecute(nExec) Ausführen von Tür öffnen oder schließen.
 If nResult Then
  nExec = "Close " & nAlias Zurücksetzen der internen Rechnervariablen.
  nResult = mciExecute(nExec)
  OpenCloseCD = True
 End If
End If
End Sub



 Ranking-Hits zurück Sitemap
Designed by www.wbrnet.info