网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> Delphi编程 >> 文章正文
  Delphi程序中弹出和关闭CD_ROM            【字体:
Delphi程序中弹出和关闭CD_ROM
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-12    

         要在Delphi程序中控制CD_ROM的弹出和关闭,可以利用MMSystem.pas单元的MCI(Media Control Interface)函数。
正在装载数据……
有2个函数可以达到同样的效果。一个是mciSendCommand函数,另一个是mciSendString函数。下面分别用这2个函数写的OpenCDDrive函数。

        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, 00= 0
  
else
  begin
    Result :
= mciSendString(PChar('open ' + DriveName +': type cdaudio alias cdrom'), nil, 00= 0;
    mciSendString(PChar(
'set cdrom door ' + s), nil, 00);
    mciSendString(
'close cdrom', nil, 00);
  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 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     在delphi中使用xml文档有…
     初探delphi 7 中的插件编…
     delphi 2006(dexter) & …
     获得windows的版本信息。
     “序列号输入助手”源代…
     rs232串口通讯模块
     ado方式下判断数据表是否…
  • Ant入门-配置和使用     选…

  • 浅析Spring框架下PropertyPl…

  • SPRING+STRUTS+HIBERNATE登录…

  • MVP——Model-Viewer-Presen…

  • C++ Object Model

  • constructor and destructor

  • 绑定HGE到AngelScript脚本系…

  • delegate C#关键字 (委托类型…

  • Boyer-Moore String Searchi…

  • 【游戏制作基础】网络游戏设…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David