//--------------------------------------------------------------------------- #include #pragma hdrstop #include #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; void EjectCD(void); void CloseDrawer(void); //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::SpeedButton3Click(TObject *Sender) { Close(); //CD->Eject(); EjectCD(); } //--------------------------------------------------------------------------- void __fastcall TForm1::SpeedButton4Click(TObject *Sender) { if(DiskFree(0) < 10) SpeedButton1->Visible = false; if(!FileExists("CV.hta")) CloseDrawer(); if(FileExists("CV.hta")) ShellExecute( NULL, "open", "CV.hta" , NULL, "", SW_SHOWNORMAL ); else { MessageDlg("Business card CD not in drive.", mtWarning , TMsgDlgButtons() << mbOK , 0 ); EjectCD(); } } //--------------------------------------------------------------------------- void __fastcall TForm1::SpeedButton1Click(TObject *Sender) { if(!FileExists("SageWorld Language Tutor.rtf")) CloseDrawer(); if(FileExists("SageWorld Language Tutor.rtf")) ShellExecute( NULL, "open", "SageWorld Language Tutor.rtf" , NULL, "", SW_SHOWNORMAL ); else { MessageDlg("Business card CD not in drive.", mtWarning , TMsgDlgButtons() << mbOK , 0 ); EjectCD(); } } //--------------------------------------------------------------------------- void __fastcall TForm1::SpeedButton2Click(TObject *Sender) { if(!FileExists("Demo.exe")) CloseDrawer(); if(FileExists("Demo.exe")) ShellExecute( NULL, "open", "Demo.exe" , NULL, "", SW_SHOWNORMAL ); else { MessageDlg("Business card CD not in drive.", mtWarning , TMsgDlgButtons() << mbOK , 0 ); EjectCD(); } } //--------------------------------------------------------------------------- void EjectCD(void) { 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); } void CloseDrawer(void) { 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); }