⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cdrom.dpr

📁 可以控制多个光驱
💻 DPR
字号:
library cdrom;

uses
  Windows, Mmsystem;

{$R *.res}

function OpenCDROM(Drive: pChar): Boolean;stdcall; // 打开CDROM
var
  Res: MciError;
  OpenParm: TMCI_OPEN_Parms;
  Flags: Dword;
  s: string;
  DeviceID: Word;
begin
  Result := false;
  s := Drive + ':';
  flags := mci_Open_Type or mci_Open_Element;
  with OpenParm do
  begin
    dwCallBack := 0;
    lpstrDeviceType := 'CDAudio';
    lpstrElementName := PChar(s);
  end;
  Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
  if Res <> 0 then exit;
  DeviceID := OpenParm.wDeviceID;
  try
    Res := mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
    if Res = 0 then exit;
    Result := True;
  finally
    mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
  end;
end;

function CloseCDROM(Drive: pChar): Boolean;stdcall; // 关闭CDROM
var
  Res: MciError;
  OpenParm: TMCI_OPEN_Parms;
  Flags: Dword;
  s: string;
  DeviceID: Word;
begin
  Result := false;
  s := Drive + ':';
  flags := mci_Open_Type or mci_Open_Element;
  with OpenParm do
  begin
    dwCallBack := 0;
    lpstrDeviceType := 'CDAudio';
    lpstrElementName := PChar(s);
  end;
  Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
  if Res <> 0 then exit;
  DeviceID := OpenParm.wDeviceID;
  try
    Res := mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
    if Res = 0 then exit;
    Result := True;
  finally
    mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
  end;
end;

exports //dll文件导出的函数列表
OpenCDROM,
CloseCDROM;

begin
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -