![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
привод CD-Rom
random © (2004-04-06 10:37:00)Подскажите, как открыть и закрыть лоток cd-rom средствами Delphi (вариант - нажать на кнопку не подходит - уж лень дюже)
И еще, подскажите, что там uses?
http://my.samara.ru/~Delphi (2004-04-15 17:52:00) [1]//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;
Kremen (2004-04-06 12:33:00) [2]procedure EjectCDROM(aLetter : char);
const
AliasName = 'MyCoolCdrom';
var s : string;
begin
s := 'open ' + aLetter + ': type cdaudio alias ' + AliasName + aLetter + ' shareable wait';
if mciSendString(PChar(s), nil, 0, 0) <> 0 then exit; // fails to open
try
s := 'set ' + AliasName + aLetter + ' door open wait';
mciSendString(PChar(s), nil, 0, 0);
finally
s := 'close ' + AliasName + aLetter + ' wait';
mciSendString(PChar(s), nil, 0, 0);
end;
end;
я думаю догадаешься вместо MyCoolCdrom поставить свой сд