Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.037 c
9-1077482489
Bek
2004-02-22 23:41
2004.06.20
Кто что знает про свет в Opengl?


3-1085662064
Sasha73
2004-05-27 16:47
2004.06.20
Локальная BD (один файл) ?


1-1086764457
AleXqwq
2004-06-09 11:00
2004.06.20
TreeView


1-1086295793
NeVIP.
2004-06-04 00:49
2004.06.20
ExcelApplication 2


1-1086330853
TGrey
2004-06-04 10:34
2004.06.20
Передача сообщений из потока