Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.037 c
1-1081858010
ЕвгенийК
2004-04-13 16:06
2004.05.02
Обладатели Delphi 5 или BCB 5 дайте DsgnIntf.dcu PLS!


3-1081082712
SergP
2004-04-04 16:45
2004.05.02
integer --> datetime. Как это сделать в запросе?


7-1078581566
InfoCar1
2004-03-06 16:59
2004.05.02
Как удалить из реестра переменную?


11-1065797226
Mushu
2003-10-10 18:47
2004.05.02
Как работать с файлами в KOL ....


9-1068383585
DDS
2003-11-09 16:13
2004.05.02
OpenGL: Как запомнить,а потом восстановить текущие координаты.




   Наверх