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

Вниз

как определить cd-romы и выгрузить лоток у выбранного CD   Найти похожие ветки 

 
GraY ©   (2004-07-25 14:25) [0]

как определить cd-romы и выгрузить лоток у выбранного CD


 
ssk ©   (2004-07-25 14:35) [1]

Накопители CD-ROM


function CDList : string;
var
 Drives, Loop : integer;
 Work         : string;
begin
Drives:=GetLogicalDrives;
Result:="";
for Loop:=0 to 25 do
 if ((1 shl Loop) and Drives)<>0 then
  begin
   Work:=Char(65+Loop)+":\";
   if GetDriveType(PChar(Work))=DRIVE_CDROM then
    Result:=Result+Char(65+Loop);
  end;
end;


Открыть-Закрыть CDROM с определенной буквой


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
 begin
  mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
  Result:=True;
 end;
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;


 
GraY ©   (2004-07-25 15:18) [2]

TMCI_Open_Parm к какому юниту относятся?MMSystem не катит!


 
ssk ©   (2004-07-25 15:37) [3]

к нему и относятся -> MMSystem

http://www.ucad.pisem.net/sskcdrom.zip


 
GraY ©   (2004-07-25 16:17) [4]

бОЛЬШОЕ СПАСИБО SSk,А КАК УПРАВЛЯТЬ СКОРОСТЬЮ cd ЗНАЕШ?ИЛИ ГДЕ ИНФУ ПОЧИТАТЬ МОЖНО?


 
ssk ©   (2004-07-25 16:50) [5]

не знаю. этим не занимался.


 
grom   (2004-07-25 18:13) [6]

А можно вот так
....................
function Open_CloseCD(Drive:string;i:integer):Boolean;
var
Res:MciError;
OpenParm:TMCI_Open_Parms;
Flags,DeviceID:Word;
begin
Result:=false;
Flags:=mci_Open_Type or mci_Open_Element;
with OpenParm do begin
dwCallback:=0;
lpstrDeviceType:="CDAudio";
lpstrElementName:=PChar(Drive+":");
end;
Res:=mciSendCommand(0,mci_Open,Flags,Longint(@OpenParm));
if Res<>0 then exit;
DeviceID:=OpenParm.wDeviceID;
try if i=1 then Result:=mciSendCommand(DeviceID,MCI_SET,MCI_SET_DOOR_OPEN,0)= 0;
    if i=2 then Result:=mciSendCommand(DeviceID,MCI_SET,MCI_SET_DOOR_CLOSED,0)= 0;
finally mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;
.................
Open_CloseCD("D",1);
----
Open_CloseCD("D",2);
...............
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=65 to 90 do if GetDriveType(PChar(chr(i)+":\"))=DRIVE_CDROM then begin
ComboBox1.Items.Add(chr(i));
end;
ComboBox1.ItemIndex:=0;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.046 c
14-1092397485
nasty
2004-08-13 15:44
2004.09.05
люди добрые! есть ли в процессорах амд технология ммх?


14-1092668010
Паскальные надписи
2004-08-16 18:53
2004.09.05
Генератор случайных чисел


6-1088617297
leonidus
2004-06-30 21:41
2004.09.05
Тунель через прокси


14-1092315799
Digitman
2004-08-12 17:03
2004.09.05
"We all live in a yellow submarine... "(C) Beatles


1-1092760285
xman
2004-08-17 20:31
2004.09.05
MEMO