I need to open CD-ROM by WinApi
Hi,
I need to open CD-ROM by WinApi. My program does'n work. Please help me.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
#include <windows.h>
#include <tchar.h>
#include <stdlib.h>
int main(int argc, char** argv) {
MCI_OPEN_PARMS OpenParm;
MCI_SET_PARMS SetParm;
MCIDEVICEID dID;
TCHAR* deviceType = _T("Audio");
OpenParm.lpstrDeviceType = deviceType;
mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE, (DWORD_PTR)&OpenParm);
dID = OpenParm.wDeviceID;
mciSendCommand(dID, MCI_SET, MCI_SET_DOOR_OPEN, (DWORD_PTR)&SetParm);
mciSendCommand(dID, MCI_CLOSE, MCI_NOTIFY, (DWORD_PTR)&SetParm);
return (EXIT_SUCCESS);
}
|
Thank you.
Last edited on
Your code works for me if I replace "Audio" with "CDAudio" (no need for SetParm, though.)
Or you can switch to use an ID instead of the name.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
#include <windows.h>
#include <tchar.h>
#include <stdlib.h>
int main(int argc, char** argv) {
MCI_OPEN_PARMS OpenParm = {0};
OpenParm.lpstrDeviceType = (TCHAR*)MCI_DEVTYPE_CD_AUDIO;
mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID, (DWORD_PTR)&OpenParm);
MCIDEVICEID dID = OpenParm.wDeviceID;
mciSendCommand(dID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
mciSendCommand(dID, MCI_CLOSE, MCI_NOTIFY, 0);
return (EXIT_SUCCESS);
}
|
Andy
Last edited on
Thank you very much :)
Topic archived. No new replies allowed.