![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
||||||
| Delphi程序中弹出和关闭CD_ROM | ||||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-9-12 ![]() |
||||||
|
要在Delphi程序中控制CD_ROM的弹出和关闭,可以利用MMSystem.pas单元的MCI(Media Control Interface)函数。
1、使用mciSendCommand: function OpenCDDrive(IsOpen: Boolean; DriveName: char = #0): Boolean; var op: TMCI_Open_Parms; flags: LongWord; begin FillChar(op, Sizeof(TMCI_Open_Parms), 0); op.lpstrDeviceType := PChar(MCI_DEVTYPE_CD_AUDIO); flags := MCI_OPEN_TYPE or MCI_OPEN_TYPE_ID; if DriveName <> #0 then begin op.lpstrElementName := PChar(DriveName + ':'); flags := flags or MCI_OPEN_ELEMENT; end; Result := mciSendCommand(0, MCI_OPEN, flags, LongWord(@op)) = 0; if not Result then Exit; if IsOpen then mciSendCommand(op.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0) else mciSendCommand(op.wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0); mciSendCommand(op.wDeviceID, MCI_CLOSE, MCI_WAIT, 0); end; 2、使用mciSendString: function OpenCDDrive(IsOpen: Boolean; DriveName: char = #0): Boolean; var s: string; begin if IsOpen then s := 'open' else s := 'closed'; if DriveName = #0 then Result := mciSendString(PChar('set cdaudio door ' + s), nil, 0, 0) = 0 else begin Result := mciSendString(PChar('open ' + DriveName +': type cdaudio alias cdrom'), nil, 0, 0) = 0; mciSendString(PChar('set cdrom door ' + s), nil, 0, 0); mciSendString('close cdrom', nil, 0, 0); end; end; OpenCDDrive函数有2个参数,IsOpen为True弹出CD_ROM,False关闭RD_ROM;DriveName为CD_ROM驱动器名称,缺省为#0。返回True成功,否则失败。 打开和关闭缺省CD_ROM,即第一个CD_ROM驱动器可以分别用: OpenCDDrive(True);和OpenCDDrive(False); 使用CD_ROM驱动器名称调用可以分别为(假设CD_ROM驱动器名称为“F:”): OpenCDDrive(True, 'F');和OpenCDDrive(False, 'F'); 如有错误请指正:maozefa@hotmail.com 本文来源:http://blog.csdn.net/maozefa/archive/2007/08/15/1743388.aspx
|
||||||
| 文章录入:admin 责任编辑:admin | ||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|