[ Nikola86 @ 20.08.2004. 23:13 ] @
Da li u C++ postoji metoda kojom bi se izbacio (otvorio) cd-rom?
[ filmil @ 21.08.2004. 00:02 ] @
Sam jezik nema tu mogućnost. Treba koristiti usluge operativnog sistema.

f
[ Dragi Tata @ 21.08.2004. 00:39 ] @
Za Windows pogledaj MCI komande na MSDN-u.
[ reiser @ 21.08.2004. 00:49 ] @
Ovako to ide u Delphi-u :
Code:
mciSendString('Set cdaudio door open wait', nil, 0, Handle)


U C++-u stavi duple navodnike i nisam siguran, ali mislim da umesto nil treba null...

(ako zelis da zatvoris vratanca, umesto open stavi closed
[ slavkot @ 21.08.2004. 10:18 ] @
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;
}