#include <tchar.h> #include <windows.h> #include <mmsystem.h> // for MCI function //link to winmm.lib (usually included in project setting) #pragma comment(lib, "winmm") void ControlCdTray(TCHAR drive, DWORD command) { //Not used here, only for debug MCIERROR mciError=0; //flags forMCI command DWORD mciFlags=MCI_WAIT|MCI_OPEN_SHAREABLE| MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID|MCI_OPEN_ELEMENT; //open drive device and get device ID TCHAR elementName[]={drive}; MCI_OPEN_PARMS mciOpenParms={0}; mciOpenParms.lpstrDeviceType=(LPCTSTR)MCI_DEVTYPE_CD_AUDIO; mciOpenParms.lpstrElementName=elementName; mciError=mciSendCommand(0, MCI_OPEN, mciFlags, (DWORD_PTR)&mciOpenParms); //Ejecting or closing tray using device ID MCI_SET_PARMS mciSetParms={0}; mciFlags=MCI_WAIT|command;//command is send by caller mciError=mciSendCommand(mciOpenParms.wDeviceID, MCI_SET, mciFlags, (DWORD_PTR)&mciSetParms); //close device ID mciFlags=MCI_WAIT; MCI_GENERIC_PARMS mciGenericParms={0}; mciError=mciSendCommand(mciOpenParms.wDeviceID, MCI_CLOSE, mciFlags,(DWORD_PTR)&mciGenericParms); } //Eject drive tray void EjectCdTray(TCHAR drive) { ControlCdTray(drive, MCI_SET_DOOR_CLOSED); } //Retract drive tray void CloseCdTray(TCHAR drive) { ControlCdTray(drive,MCI_SET_DOOR_CLOSED); } int_tmain(int argc,_TCHAR* argv[]) { EjectCdTray(TEXT('E')); //driveletter hardcoded CloseCdTray(TEXT('E')); return 0; }
Quote:int_tmain(int argc,_TCHAR* argv[])
int _tmain(int argc,_TCHAR* argv[])
#pragma lib ("winmm.lib") //If supported by compiler // or #pragma comment(lib, "winmm.lib")
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)