mciSendString("Set cdAudio door open wait",NULL,0,NULL);
mciSendString("Set cdAudio door closed wait",NULL,0,NULL);
注:这个在Win98下面是可以的!

解决方案 »

  1.   

    windows 2000下测试通过
    void CMyDlg::OnOpenCD() 
    {
    // TODO: Add your control notification handler code hereUINT wDeviceID;
    DWORD dwReturn;
    MCI_OPEN_PARMS mciOpenParms;// Opens a CD audio device by specifying the device name.mciOpenParms.lpstrDeviceType = "cdaudio";if (dwReturn = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_TYPE,
    (DWORD)(LPVOID) &mciOpenParms))
    {
    mciSendCommand(mciGetDeviceID("cdaudio"), MCI_SET, MCI_SET_DOOR_OPEN, NULL);
    /* char szErrorBuf[MAXERRORLENGTH];
    MessageBeep(MB_ICONEXCLAMATION);
    if(mciGetErrorString(dwReturn, (LPSTR) szErrorBuf, MAXERRORLENGTH))
    {
    MessageBox(szErrorBuf, "MCI Error",
    MB_ICONEXCLAMATION);
    }
    else
    {
    MessageBox("Unknown Error", "MCI Error",
    MB_ICONEXCLAMATION);
    }*/
    }// The device opened successfully; get the device ID.
    wDeviceID = mciOpenParms.wDeviceID;mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, NULL);
    }void CMyDlg::OnCloseCD() 
    {
    mciSendCommand(mciGetDeviceID("cdaudio"), 
    MCI_SET, MCI_SET_DOOR_CLOSED, (DWORD)(LPVOID)&StatusParms);
    }
      

  2.   

    void CCDROMDlg::OnOut() 
    {
    if(mciSendString("set cdaudio door open",NULL,0,NULL)!=0)
    MessageBox("open error!");
    }void CCDROMDlg::OnClose() 
    {
    if(mciSendString("set cdaudio door closed",NULL,0,NULL)!=0)
    MessageBox("close error!");
    }98和2000下都可以通过