Модераторы: 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 в системе рекомендуется обратиться к следующим функциям:
Выделить всёРазвернуть кодкод Pascal/Delphi
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
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.0783 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


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

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