slavkot
Član broj: 18657 Poruke: 166 *.teol.net
|
Našao sam ovaj primjer, kod mene radi
#include <windows.h>
#include <mmsystem.h>
//
// Link with winmm.lib
// Beware! Error-checking has gone AWOL!
//
// Author: Chris Morse Sebrell
//
//
// Open or Close CD Drive
// cDrive is Drive Letter to Open, or 0x01 for 'Default' drive
// Examples:
// CD_OpenCloseDrive(TRUE, 'G'); // Open CD Door for Drive G:
// CD_OpenCloseDrive(FALSE, 'G'); // Close CD Door for Drive G:
// CD_OpenCloseDrive(TRUE, 1); // Open First Logical CD Door
void CD_OpenCloseDrive(BOOL bOpenDrive, TCHAR cDrive)
{
MCI_OPEN_PARMS op;
MCI_STATUS_PARMS st;
DWORD flags;
TCHAR szDriveName[4];
strcpy(szDriveName, "X:");
ZeroMemory(&op, sizeof(MCI_OPEN_PARMS));
op.lpstrDeviceType = (LPCSTR) MCI_DEVTYPE_CD_AUDIO;
if(cDrive > 1)
{
szDriveName[0] = cDrive;
op.lpstrElementName = szDriveName;
flags = MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID | MCI_OPEN_ELEMENT | MCI_OPEN_SHAREABLE;
}
else
flags = MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID | MCI_OPEN_SHAREABLE;
if (!mciSendCommand(0, MCI_OPEN, flags, (unsigned long)&op))
{
st.dwItem = MCI_STATUS_READY;
if(bOpenDrive)
mciSendCommand(op.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
else
mciSendCommand(op.wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
mciSendCommand(op.wDeviceID, MCI_CLOSE, MCI_WAIT, 0);
}
}
int main(void)
{
//CD_OpenCloseDrive(TRUE, 'G');
CD_OpenCloseDrive(TRUE, 1);
sleep(3000);
//CD_OpenCloseDrive(FALSE, 'G');
CD_OpenCloseDrive(FALSE, 1);
return 0;
}
|