精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓..API 函数使用..〓〓>>文件系统>>请问如何用API得知CD-ROM的托盘是处于打

主题:请问如何用API得知CD-ROM的托盘是处于打
发信人: cobe()
整理人: winsy(2003-03-05 15:36:30), 站内信件
-------------下文转自“问专家”站点-------------------------

    使 用 MCI命 令 可 以 做 到 这 一 点 。 
    可 以 用 mciSendString函 数 , 下 面 是 一 段 VB的 例 子 。 
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciS
endStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As 
String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Lo
ng 
     
     
    Private Sub Command1_Click() 
     mciSendString "Set CDAudio Door Open Wait", 0&, 0, 0 ' 弹 出 
    End Sub 
     
    Private Sub Command2_Click() 
     mciSendString "Set CDAudio Door Closed Wait", 0&, 0, 0 ' 关 闭 
    End Sub 
     
    也 可 以 用 mciSendCommand。 下 面 是 一 段 Delphi程 序 , 演 示 了
 如 何 控 制 光 驱 。 
    program cdinout; 
    uses mmSystem; 
     
    var 
    MCIO : TMCI_Open_Parms; 
    MCIS : TMCI_Status_Parms; 
     
    begin 
     
    MCIO.lpstrDeviceType := PChar(MCI_DEVTYPE_CD_AUDIO); 
    if mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE or MCI_OPEN_TYPE_ID o

     MCI_OPEN_SHAREABLE, LongInt(@MCIO) )= 0 then 
     begin 
     MCIS.dwItem := MCI_STATUS_READY; 
     mciSendCommand(MCIO.wDeviceID, MCI_STATUS, MCI_STATUS_ITEM 
     or MCI_WAIT, LongInt(@MCIS)); 
     if MCIS.dwReturn<> 0 then 
     mciSendCommand(MCIO.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0) 
     else 
     mciSendCommand(MCIO.wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0); 

     mciSendCommand(MCIO.wDeviceID, MCI_CLOSE, MCI_WAIT, 0); 
     end; 
    end. 

【 在 hosila (来一客) 的大作中提到: 】



--
没办法!!我也有不会的呀!!!你就告诉我吧~~~

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.130.227.1]

[关闭][返回]