Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Открытие и закрытие CR-ROM при наличии более одного CR-ROM 
:(
    Опции темы
Pakshin A. S.
Дата 8.11.2004, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



При наличии более одного CD-ROM в системе рекомендуется обратиться к следующим функциям:
Код
unit DriveTools;

interface

function CloseCDDrive(Drive: char): boolean;
function OpenCDDrive(Drive: char): boolean;

implementation

uses
 Windows, SysUtils, MMSystem;

function OpenCDDrive(Drive: char): 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
   begin
    DeviceID:=OpenParm.wDeviceID;
    try
     Res:=mciSendCommand(DeviceID, mci_Set, MCI_SET_DOOR_OPEN, 0);
     Result:=Res <> 0
    finally
     mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm))
    end
   end
end;

function CloseCDDrive(Drive: char): 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
   begin
    DeviceID:=OpenParm.wDeviceID;
    try
     Res:=mciSendCommand(DeviceID, mci_Set, MCI_SET_DOOR_CLOSED, 0);
     Result:=Res <> 0
    finally
     mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm))
    end
   end
end;

end.

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0532 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.