Текущий архив: 2004.06.20;
Скачать: CL | DM;
Вниз
CD-ROM Найти похожие ветки
← →
ArthurKhamitov (2004-05-11 18:23) [0]Как программно (через Delphi) закрыть CD-дисковод?
← →
IceBeerg © (2004-05-11 18:26) [1]Поищи в mmsystem.pas... Должна быть функция которая и открывает и закрывает.
← →
Agent13 © (2004-05-11 19:20) [2]Да, действительно в MMsystem:
MCISendString("Set CDAudio door closed wait", nil, 0, Form1.Handle);
← →
Agent13 © (2004-05-11 19:21) [3]А если слово "closed" поменять на "open", то сидюк откроется :)
← →
Dimich1978 © (2004-05-11 19:44) [4]А если слово "closed" поменять на "access denied", то сидюк повесится на шнуре питания, если вовремя успеть то откачать еше будет можно путем искусственного дыхания и клизмой :))))))
← →
grom2 (2004-05-13 12:16) [5]
//vvvvvvvvvvvvvvvvvvvvvvvvv/ Open CD / Close CD /vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
function OpenCD(Drive:string):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
Res:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
if Res=0 then exit;
Result:=True;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;
function CloseCD(Drive:string):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
Res:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
if Res=0 then exit;
Result:=True;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;
← →
Nebiyev © (2004-05-13 16:21) [6]Мы пробовали MCISendString, но делфи не признал этого. что нам надо написать в uses?
← →
apihelp (2004-05-13 16:43) [7]>grom2 (13.05.04 12:16) [5]
Ниструя себе
в Uses в обяз добавить "mmsystem"
Открыть
procedure TForm1.Button1Click(Sender: TObject);
begin
mcisendString("Set cdaudio door open wait", nil, 0, handle);
end;
Закрыть
procedure TForm1.Button2Click(Sender: TObject);
begin
mciSendString("Set cdaudio door closed wait", nil, 0, handle);
end;
← →
grom2 (2004-05-14 09:48) [8]apihelp (13.05.04 16:43) [7]
С помощью mcisendString("Set cdaudio door open wait", nil, 0, handle) можно открыть только один привод который в системе стоит первым. А если на компе стоит 2 или 3 привода.
С помощью function OpenCD(Drive:string):Boolean; открывается любой привод
Страницы: 1 вся ветка
Текущий архив: 2004.06.20;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.024 c