得到这消息恐怕难!
你查一查sdk中有没有这消息,急着用,还是写程序定时查询可行。

解决方案 »

  1.   

    Window中当驱动器发生改变时,系统会想所有的应用程序发送一个广播消息
    WM_DEVICECHANGE,包括光驱中插入光盘。次消息在类向导中看不到,需要你
    手工加入。在头文件中声明 消息处理函数
     afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD dwData );在实现文件中加入消息映射.
      ON_MESSAGE(WM_DEVICECHANGE,OnDeviceChange)实现处理函数
      BOOL CCDplayerDlg::OnDeviceChange(UINT nEventType, DWORD dwData )
    {
    switch(nEventType){
    case DBT_DEVICEARRIVAL:
    {
    DEV_BROADCAST_HDR* devhdr=(DEV_BROADCAST_HDR*)dwData;
    if (devhdr->dbch_devicetype==DBT_DEVTYP_VOLUME){
    //有光盘
    }
    }
    }
    break;
    case DBT_DEVICEREMOVECOMPLETE:
    {
    DEV_BROADCAST_HDR* devhdr=(DEV_BROADCAST_HDR*)dwData;
    if (devhdr->dbch_devicetype==DBT_DEVTYP_VOLUME){
    //光盘移去.
    }
    }
    break;
    }
    return TRUE;
    }