就是一个实现光驱的自动弹出和弹进的函数。特大号的大菜鸟在此谢过! 祝大哥 新年快乐

解决方案 »

  1.   

    使用Window API: mciExecute。
    参考:
    http://www.csdn.net/Develop/Article/15/15323.shtm
      

  2.   

    弹出光盘 : mciSendString('Set cdaudio door open wait', nil, 0, handle);
    关闭光盘 : mciSendString('Set cdaudio door closed wait', nil, 0, handle);OK?
      

  3.   

    在文件开头添加这两行:
    #include "mmsystem.h"
    #pragma comment(lib,"winmm.lib")然后调用下面两个函数实现功能。
    弹出
    mciSendString("set CDAudio door open", NULL, 0, 0);
    关闭
    mciSendString("set CDAudio door closed", NULL, 0, 0);
      

  4.   

    yins说的没错
    在对话框中代码如下:
    打开光驱:mciSendString("Set cdaudio door open wait", NULL, 0, m_hWnd);
    关闭光驱:mciSendString("Set cdaudio door closed wait", NULL, 0, m_hWnd);
      

  5.   

    //例子:弹出光驱F CDRomOpen(TRUE,'F')
    // 关闭光驱F CDRomOpen(FALSE,'F')
    void CDRomOpen(BOOL bOpenDrive,TCHAR cDrive)

      MCI_OPEN_PARMS open;
       MCI_STATUS_PARMS status; 
       DWORD flags;
       TCHAR szDriveName[4]; 
       strcpy(szDriveName,"?:"); 
       ::ZeroMemory(&open,sizeof(MCI_OPEN_PARMS)); 
       open.lpstrDeviceType=(LPCSTR)MCI_DEVTYPE_CD_AUDIO;
        szDriveName[0]=cDrive; 
        open.lpstrElementName=szDriveName;
       flags=MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID|MCI_OPEN_ELEMENT| MCI_OPEN_SHAREABLE; 
      if(!mciSendCommand(0,MCI_OPEN,flags,(unsigned long)&open)) 
     {
         status.dwItem=MCI_STATUS_READY;
         if(bOpenDrive) mciSendCommand(open.wDeviceID,MCI_SET,MCI_SET_DOOR_OPEN,0); 
         else mciSendCommand(open.wDeviceID,MCI_SET,MCI_SET_DOOR_CLOSED,0);
         mciSendCommand(open.wDeviceID,MCI_CLOSE,MCI_WAIT,0);
     } 
    }