Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

CD ROM   Найти похожие ветки 

 
kamerad   (2004-03-09 16:35) [0]

Есть команда открыть CD ROM и закрыть CD ROM.
А если CD ROMы установлены в количестве 2 шт (штук), то какой будет открываться?
У меня было 2 CD ROMа, но команды такой я еще не знал, и Delphi не было тогда у меня.


 
Gorlum ©   (2004-03-09 17:28) [1]

В этом примере открывается тот дисковод, в который вставлен диск с программой (т.е. прога запускается с диска, а по её завершении дисковод, в котором диск, открывается).
function OpenCD (drive:char):boolean;
var
err: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;
Err:=mciSendCommand(0,mci_Open,Flags,Longint(@OpenParm));
If Err<>0 Then exit;
DeviceID:=OpenParm.wDeviceID;
try
Err:=mciSendCommand(DeviceID,MCI_SET,MCI_SET_DOOR_OPEN,0);
If Err=0 then exit;
Result:=true;
finally
 begin
 mcisendcommand(DeviceID, MCI_Close,Flags,Longint(@OpenParm));
 Result:=true;
 end;
end;
end;


 
kamerad   (2004-03-09 18:25) [2]

Ну, это кончено, круто...
===========================================
Есть команда открыть CD ROM и закрыть CD ROM.
А если CD ROMы установлены в количестве 2 шт (штук), то какой ИЗ 2 СИДИРОМОВ будет открываться?


 
DDA ©   (2004-03-09 18:32) [3]

function OpenCD(Drive : Char) : Boolean;
Var
 Err : MciError;
 OpenParm: TMCI_Open_Parms;

 Flags : DWord;
 S : String;
 DeviceID : Word;
begin
 Result:=false;
 S:=Drive+":";
 Flags:=mci_Open_Type or mci_Open_Element; // См. mci_Open
 With OpenParm do
 begin
   dwCallback := 0;
   lpstrDeviceType := "CDAudio";
   lpstrElementName := PChar(S);
 end;
 Err := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
 IF Err<>0 Then exit;
 DeviceID:=OpenParm.wDeviceID;
 try
 Err:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);

 IF Err=0 Then exit;
 Result:=True;
 finally
   mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
 end;
end;

function CloseCD(Drive : Char) : Boolean;
Var
 Err : 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;
 Err := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
 IF Err<>0 Then exit;
   DeviceID:=OpenParm.wDeviceID;
 try
 Err:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
 IF Err=0 Then exit;
 Result:=True;
 finally
 mciSendCommand(DeviceID, MCI_CLOSE, Flags, Longint(@OpenParm));
 end;

end;


 
HepB   (2004-03-09 23:53) [4]

Это всё замечательно. Но для ваших функций нужно знать буквы КД приводов. Как их узнать? Или же скажите как можно обойтись без них, зная номер привода из реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom\Enum ?


 
evvcom   (2004-03-10 08:40) [5]

GetDriveType



Страницы: 1 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
14-1081801989
GanibalLector
2004-04-13 00:33
2004.05.02
Джеффри Рихтер "Windows для профессионалов"


1-1081943575
Алексей2
2004-04-14 15:52
2004.05.02
Как "превратить" строку в имя переменной?:


3-1081161820
Paul
2004-04-05 14:43
2004.05.02
Пересылка символов из дельфи в др. установочную программу


3-1081167723
Ivan
2004-04-05 16:22
2004.05.02
Информация в PageFooter


1-1081770981
TButton
2004-04-12 15:56
2004.05.02
SetLength