Тема: CD-привод
Показать сообщение отдельно
Старый 25.01.2008, 17:45   #2
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: CD-привод

Например так:
function CDOpen(Drive: PChar): Boolean;
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_OPEN, Flags, Longint(@OpenParm));
  end;
end;
Для открытия например дисковода H: нужно написать
CDOpen('H');
В uses нужно добавть mmsystem.
(Offline)
 
Сообщение было полезно следующим пользователям:
BaD RaNDoM (26.01.2008)