Modules

5.81 API - Aprire o chiudere lo sportelletto di un CDROM
  Roberto, Gaspare

Nel caso in cui si desideri espellere il disco ottico contenuto nel CDROM F:, in un modulo standard del database memorizzare il seguente codice VBA:
Public Declare Function mciSendString Lib "winmm.dll" Alias _
    "mciSendStringA" (ByVal lpstrCommand As String, ByVal _
    lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal _
    hwndCallback As Long) As Long
ed eseguire il seguente codice VBA:
Dim i As Variant
Dim Unità As String
Unità = "F:\"
i = mciSendString("open  " & Unità & " type cdaudio alias cd1", 0&, 0, 0)
i = mciSendString("Set cd1 Door Open Wait", 0&, 0&, 0&)
i = mciSendString("close cd1", 0&, 0, 0)
e per richiudere lo sportelletto eseguire il seguente codice VBA:
Dim i As Variant
Dim Unità As String
Unità = "F:\"
i = mciSendString("open  " & Unità & " type cdaudio alias cd1", 0&, 0, 0)
i = mciSendString("set cd1 door closed wait", 0&, 0, 0)
i = mciSendString("close cd1", 0&, 0, 0)

Se invece, a prescindere da quale sia la sua unità, si desidera espellere il CD/DVD contenuto nell'unità CDAudio di default, allora, fermo restando quanto memorizzato nel modulo satndard, è sufficiente eseguire la seguente riga di codice BNA:
Call mciSendString("Set CDAudio Door Open Wait", 0&, 0&, 0&)
mentre per richiudere lo sportelletto è sufficiente eseguire la seguente riga di codice VBA:
Call mciSendString("Set CDAudio Door Closed Wait", 0&, 0&, 0&)
Maggiori dettagli su come inviare comandi ad una unità CDAudio li troverete al link:
http://www.geocities.com/smigman.geo/mci/cd.html


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.