1. To Open:
UINT wDeviceID;
MCI_OPEN_PARMS pciop;
MCI_SET_PARMS mciSetParms;
MCI_GENERIC_PARMS mcigp;
pciop.lpstrDeviceType = "cdaudio";
if (mciSendCommand(NULL, MCI_OPEN,
MCI_OPEN_TYPE, (DWORD)(LPVOID) &pciop))
{
return;
}
wDeviceID = pciop.wDeviceID;
mciSendCommand(wDeviceID, MCI_SET,MCI_SET_DOOR_OPEN, (DWORD)(LPVOID)
&mciSetParms);
mciSendCommand(wDeviceID, MCI_CLOSE,MCI_WAIT, (DWORD)(LPVOID) &mcigp);
}
2. ToClose:
UINT wDeviceID;
MCI_OPEN_PARMS pciop;
MCI_SET_PARMS mciSetParms;
pciop.lpstrDeviceType = "cdaudio";
MCI_GENERIC_PARMS mcigp;
if (mciSendCommand(NULL, MCI_OPEN,
MCI_OPEN_TYPE, (DWORD)(LPVOID) &pciop))
{
return;
}
wDeviceID = pciop.wDeviceID;
mciSendCommand(wDeviceID, MCI_SET,MCI_SET_DOOR_CLOSED, (DWORD)(LPVOID)
&mciSetParms);
mciSendCommand(wDeviceID, MCI_CLOSE,MCI_WAIT, (DWORD)(LPVOID) &mcigp);
}
B/rgds
100
Plamboy <pla...@freestart.hu> wrote in message news:3abcc328$2_2@dnews...
> Hello
>
> How can I Open and Close CD rom ? Are there any functions ?
> Thanx
>
>
bool __fastcall CDDoorSetState(AnsiString Drive, bool OpenDoor)
{
MCI_OPEN_PARMS OpenParm;
DWORD Flags;
DWORD DeviceID;
Drive = Drive.SubString(1,2);
Flags = MCI_OPEN_TYPE|MCI_OPEN_ELEMENT;
OpenParm.dwCallback = 0;
OpenParm.lpstrDeviceType = "CDAudio";
OpenParm.lpstrElementName = Drive.c_str();
if (mciSendCommand(0, MCI_OPEN, Flags, (ULONG)&OpenParm)!=0) return
false;
DeviceID = OpenParm.wDeviceID;
try
{
if (mciSendCommand(DeviceID, MCI_SET,
OpenDoor?MCI_SET_DOOR_OPEN:MCI_SET_DOOR_CLOSED, 0)!=0) return false;
}
__finally
{
mciSendCommand(DeviceID, MCI_CLOSE, Flags, (ULONG)&OpenParm);
}
return true;
}
Mitja
#include <mmsystem.h>