![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Смена активного привода CD [D7, WinXP]
SigalX © (2004-06-04 12:58:00)У меня два компакт-дисковода, при команде открыть/закрыть открывается первый. Подскажите, а как открыть/закрыть второй?
BiN (2004-06-04 14:51:00) [1]SigalX (04.06.04 12:58)
ты, очевидно, используешь
mciSendString('Set cdaudio door open wait', nil, 0, 0)
вот другой вариант
function SetCDDoorOpenState(Drive:Char; Open:Boolean):Boolean;
var
Res : MciError;
OpenParm: TMCI_Open_Parms;
Flags,DeviceID : Word;
DrvName:String;
OpenCMD:DWORD;
begin
DrvName:=Drive+':';
Result:=false;
Flags:=mci_Open_Type or mci_Open_Element;
with OpenParm do
begin
dwCallback := 0;
lpstrDeviceType := 'CDAudio';
lpstrElementName := PChar(DrvName);
end;
Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
if Res<>0 then exit;
DeviceID:=OpenParm.wDeviceID;
try
if Open
then OpenCMD:=MCI_SET_DOOR_OPEN
else OpenCMD:=MCI_SET_DOOR_CLOSED;
Result:=mciSendCommand(DeviceID, MCI_SET, OpenCMD, 0)=0;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;
Clickmaker (2004-06-04 13:03:00) [2]Какую команду даешь?