
Ouverture ou fermeture du tiroir d'un CDROM en spécifiant la lettre de lecteur
// Constantes
CONSTANTE MCI_OPEN=2051
CONSTANTE MCI_OPEN_SHAREABLE=256
CONSTANTE MCI_OPEN_TYPE=8192
CONSTANTE MCI_OPEN_ELEMENT=512
CONSTANTE MCI_CLOSE=2052
CONSTANTE MCI_SET=2061
CONSTANTE MCI_SET_DOOR_CLOSED=512
CONSTANTE MCI_SET_DOOR_OPEN=256
CONSTANTE MCI_WAIT=2
// Structure pour l'ouverture du CDROM
MCI_OPEN_PARMSA est une structure
dwCallback est un entier
wDeviceID est un entier sans signe
lpstrDeviceType est un entier
lpstrElementName est un entier
lpstrAlias est un entier
FIN
mciOpenParms est une MCI_OPEN_PARMSA
// Structure pour l'envoi des ordres au CDROM
MCI_SET_PARMS est une structure
dwCallback est un entier
dwTimeFormat est un entier
dwAudio est un entier
FIN
mciSetParms est une MCI_SET_PARMS
// Autres déclarations
devicetype est une chaîne="cdaudio"
devicename est une chaîne="L:"
whattodo est une chaîne="open"
dwParam est un entier
// Ouverture du device
dwParam=0
dwParam=OUBinaire(dwParam,MCI_OPEN_SHAREABLE)
dwParam=OUBinaire(dwParam,MCI_OPEN_TYPE)
dwParam=OUBinaire(dwParam,MCI_OPEN_ELEMENT)
mciOpenParms:dwCallback=0
mciOpenParms:wDeviceID=0
mciOpenParms:lpstrDeviceType=&devicetype
mciOpenParms:lpstrElementName=&devicename
mciOpenParms:lpstrAlias=0
SI API("WINMM.DLL","mciSendCommandA",0,MCI_OPEN,dwParam,&mciOpenParms)<>0
ALORS
Erreur(ErreurInfo())
RETOUR
FIN
// Envoi de la commande de fermeture/ouverture (selon whattodo)
dwParam=0
mciSetParms:dwAudio=0
mciSetParms:dwCallback=0
mciSetParms:dwTimeFormat=0
SELON whattodo
CAS "open":
dwParam=OUBinaire(dwParam,MCI_SET_DOOR_OPEN)
dwParam=OUBinaire(dwParam,MCI_WAIT)
SI
API("WINMM.DLL","mciSendCommandA",mciOpenParms:wDeviceID,MCI_SET,dwParam,&mc
iSetParms)<>0 ALORS
Erreur(ErreurInfo())
FIN
CAS "close":
dwParam=OUBinaire(dwParam,MCI_SET_DOOR_CLOSED)
dwParam=OUBinaire(dwParam,MCI_WAIT)
SI
API("WINMM.DLL","mciSendCommandA",mciOpenParms:wDeviceID,MCI_SET,dwParam,&mc
iSetParms)<>0 ALORS
Erreur(ErreurInfo())
FIN
FIN
// Fermeture du device
SI
API("WINMM.DLL","mciSendCommandA",mciOpenParms:wDeviceID,MCI_CLOSE,0,0)<>0
ALORS
Erreur(ErreurInfo())
FIN