如何控制光驱的弹出和弹入?

解决方案 »

  1.   

    对CD-ROM的操作,可通过mciSendCommand函数实现。
        
        下面是用VC实现的代码:
        
        // 设备ID
        DWORD wDevID;
        // 打开设备参数
        MCI_OPEN_PARMS mciOM;
        
        // 将设备名称设为CD_ROM
        mciOM.lpstrDeviceType = "cdaudio";
        // 将此设备打开
        if( mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE, (DWORD) (LPVOID) &mciOM))
        {
            return;
        }
        // 获取设备ID
        wDevID = mciOM.wDeviceID;
        // 打开CD-ROM
        MCI_SET_PARMS mciset;
        if( mciSendCommand(wDevID, MCI_SET, MCI_SET_DOOR_OPEN | MCI_SET_OFF, (DWORD) (LPSTR) &mciset))
        {
            
        }
        // 关闭CD-ROM
        if( mciSendCommand(wDevID, MCI_SET, MCI_SET_DOOR_CLOSED | MCI_SET_OFF, (DWORD) (LPSTR) &mciset))
        {
        
        }
        // 关闭设备
        mciSendCommand(wDevID, MCI_CLOSE, 0, 0);
      

  2.   

    mciSendCommand()函数在哪个头文件里?
      

  3.   

    Header: Declared in Mmsystem.h.
      Library: Use Winmm.lib.
      

  4.   

    上面的代码执行不了,有17个错误,有10个是说没有定义变量 ,如MCI_CLOSE
      

  5.   

    我在上面用这个加了
    #pragma comment(lib,"Winmm.lib")
    行不行?