Option Explicit
Private Declare Function CDdoor Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, ByVal hwndCallback As Long) As LongPrivate Sub Command1_Click()
Call CDdoor("set CDAudio door open", 0, 0, 0)
End SubPrivate Sub Command2_Click()
Call CDdoor("set CDAudio door closed", 0, 0, 0)
End Sub
可以打开光驱,可是关闭不了光驱,哪里出错了吗

解决方案 »

  1.   

    '我这个可以的,可能是你0&这里参数有点问题Private 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 LongSub kai()
      mciSendString "set cdaudio door open wait", 0&, 0&, 0&
    End SubSub guan()
      mciSendString "set cdaudio door closed wait", 0&, 0&, 0&
    End SubPrivate Sub Command1_Click()
     kai
    End SubPrivate Sub Command2_Click()
     guan
    End SubPrivate Sub Command3_Click()
     End
    End Sub
      

  2.   

    Option   Explicit   
    Private   Declare   Function   CDdoor   Lib   "winmm.dll"   Alias   "mciSendStringA"   _   
    (ByVal   lpstrCommand   As   String,   ByVal   lpstrReturnString   As   String,   _   
    ByVal   uReturnLength   As   Long,   ByVal   hwndCallback   As   Long)   As   Long   Private   Sub   Command1_Click()   
          '打开光驱   
            Call   CDdoor("set   CDAudio   door   open",   0,   0,   0)   
    End   Sub   Private   Sub   Command2_Click()   
          '关闭光驱   
            Call   CDdoor("set   CDAudio   door   closed",   0,   0,   0)   
    End   Sub   
    试过了
    正常