Newsgroup: it.comp.lang.visual-basic
Titolo: Comando eject dell'unità CD

Ciao a tutti.
Ho bisogno di poter aprire e chiudere il cassetto dell'unità CD/DVD premendo
un tasto, ma per il momento non ci sono riuscito del tutto.
Ho utlizzato l'ActiveX Microsoft Multimedia Control 6.0 (SP3), ma
utilizzando la proprità command dell'OCX impostata su "Eject" riesco a
chiudere e al max aprire il cassetto solo se dentro vi è un supporto.
Vorrei insomma non essere vincolato dalla presenza del supporto all'interno
del drive e poter anche selezionare l'unità CD/DVD desiderata (ad es.
masterizzatore o lettore).
Qualcuno saprebbe indicarmi una buona via da seguire per ottenere ciò che
voglio?
Thanks In Advance
--
Un saluto virtuale digitale dal cyberspace!
Cyber Z
<Per mettervi in contatto con me la X è la chiave>

Metti questo codice in un form con due pulsanti.
Option Explicit
Private Type MCI_OPEN_PARMS
    dwCallback As Long
    wDeviceID As Long
    lpstrDeviceType As String
    lpstrElementName As String
    lpstrAlias As String
End Type
Private Const MCI_OPEN = &H803
Private Const MCI_OPEN_TYPE = &H2000&
Private Const MCI_SET = &H80D
Private Const MCI_SET_DOOR_OPEN = &H100&
Private Const MCI_SET_DOOR_CLOSED As Long = &H200&
Private Const MCI_CLOSE = &H804
Private Declare Function mciSendCommand Lib "winmm.dll" Alias
"mciSendCommandA" (ByVal wDeviceID As Long, ByVal uMessage As Long, ByVal
dwParam1 As Long, ByRef dwParam2 As Any) As Long
Private openParams As MCI_OPEN_PARMS
Private Sub Form_Load()
    openParams.wDeviceID = 0
    openParams.lpstrDeviceType = "cdaudio"
    Call mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE, openParams)
End Sub
Private Sub Form_Unload(Cancel As Integer)
    Call mciSendCommand(openParams.wDeviceID, MCI_CLOSE, 0, ByVal 0&)
End Sub
Private Sub cmdApriCD_Click()
    Call mciSendCommand(openParams.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN,
ByVal 0&)
End Sub
Private Sub cmdChiudiCD_Click()
    Call mciSendCommand(openParams.wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED,
ByVal 0&)
End Sub
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no.
Gestione Ottica - Gestionale per Ottici e Programmi Gratuiti su:
http://www.nicolaottomano.it

"Cyber Z"
Private Declare Sub mciSendStringA Lib "winmm.dll" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As Any, _
ByVal uReturnLength As Long, ByVal hwndCallback As Long)
Private Sub Command1_Click()
 mciSendStringA "Set CDAudio Door Open", 0&, 0, 0: Beep
End Sub
Private Sub Command2_Click()
 mciSendStringA "Set CDAudio Door Closed", 0&, 0, 0: Beep
End Sub
http://www.allapi.net/cgi-bin/redirect.cgi?place=apiguide
--
Fosco



 Ho bisogno di poter aprire e chiudere il cassetto dell'unità CD/DVD
ARGHHHH!!! <eg>

 ha scritto nel messaggio
news:c4jns1$2ir7ba$1...@ID-174464.news.uni-berlin.de...

E che vorrebbe dire?

[Cyber Z = circa_c...@Xinwind.it in
%4jbc.107836$
FJ6.3...@twister1.libero.it
] ha scritto:

Che non leggi le risposte e riproponi, pari-pari, la domanda...

 ha scritto nel messaggio
news:c4kold$2fh6uk$1...@ID-174464.news.uni-berlin.de...

Se è così me ne dispiaccio visto che l'altro mio post pensavo non fosse
andato a buon fine dato che non l'ho visto in lista e quindi non ho cercato
neppure le eventuali risposte.
Solo ora ho visto che avevo due risposte.
Non era mio proposito mandare più volte lo stesso post.
Cyber Z