我的要求是弹出第二个光驱可是用下面的代码只能
弹出一个光驱:
   mciSendString("open cdaudio alias cd wait shareable",0,0,0);
   mciSendString("set cd door open",0,0,0);是不是还有别的方法实现,请高人指点...

解决方案 »

  1.   

    MCI Overview, 
    MCI Structures,
    MCI_OPEN,  
    mciSendCommand
      

  2.   

    The mciSendCommand function sends a command message to the specified MCI device. MCIERROR mciSendCommand(
      MCIDEVICEID IDDevice,  
      UINT uMsg,             
      DWORD fdwCommand,      
      DWORD dwParam          
    );
      

  3.   

    #include "mmsystem.h"并且导入"winmm.lib"到工程class CDrawView : public CView
    {
         ...
    public:
     UINT  wDeviceID;
     MCI_SET_PARMS mciSetParms;
     DWORD dwReturn;
    }
    void CDrawView::OnControlOpen() 
    {
        MCI_OPEN_PARMS mciOpenParms;
        mciOpenParms.lpstrDeviceType = "cdaudio";
        if(dwReturn=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_TYPE,(DWORD)(LPVOID)
                &mciOpenParms))
        {
            MessageBox("can't open!");
        }
        wDeviceID = mciOpenParms.wDeviceID;
        if(dwReturn=mciSendCommand(wDeviceID,MCI_SET,MCI_SET_DOOR_OPEN,(DWORD)(LPSTR)
                &mciSetParms))
       {
           MessageBox("不能弹出光驱!");
       }
    }
      

  4.   

    void CDrawView::OnControlClose() 
    {
      if(dwReturn=mciSendCommand(wDeviceID,MCI_SET,MCI_SET_DOOR_CLOSED,(DWORD)
                     (LPSTR)&mciSetParms))
    {
    MessageBox("不能关闭光驱!");
    }   
    }
      

  5.   

    我用  'unrise(小超)' 的方法,也只能弹出一个光驱.