Private Sub Command1_Click()
Call Control_CDROM_Door("E:", True) '开
End SubPrivate Sub Command2_Click()
Call Control_CDROM_Door("E:", False) '关
End Sub

解决方案 »

  1.   

    看不大懂 
    在使用DriveComboBox控件时,怎样判断光驱或软驱中没有放碟或盘? 拦截消息WM_DEVICECHANGE即可! //响应该消息 procedure Tform1.WMDEVICECHANGE(var msgx :Tmessage); const DBT_DEVICEARRIVAL=$8000; DBT_DEVICEREMOVECOMPLETE=$8004; begin inherited; case msgx.WParam of DBT_DEVICEARRIVAL:Caption :='有了!'; DBT_DEVICEREMOVECOMPLETE:Caption :='取走了'; end; end; 什么拦截?
      

  2.   

    Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long'formPrivate Sub Command1_Click()
    Dim lngReturn As Long
    Dim strReturn As Long'To open the CD door, use this code:
    lngReturn = mciSendString("set CDAudio door open", strReturn, 127, 0)
    End SubPrivate Sub Command2_Click()
    Dim lngReturn As Long
    Dim strReturn As Long'To close the CD door, use this code:
    lngReturn = mciSendString("set CDAudio door closed", strReturn, 127, 0)
    End Sub
      

  3.   

    (正规的...的方法)可以控制某一个CDROM,而mciSendString("set CDAudio door open", strReturn, 127, 0)好像不行喔。
      

  4.   

    我也是觉得用手按出仓门最好了。
    只是讨论的人多了。
    而且技术上又是简单的问题,我才粘它出来。详细的见 MSDN->DDK什么鬼硬件的控制方法都有。
      

  5.   

    还有MSDN->Platform SDK
    MSDN->SDK Documentation呕血推荐。看了后很多问题的答案都有,不用问人,乐哉!