![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как открыть дверцу CD-RW? [D7, WinXP]
Anthony © (2005-02-07 16:46:00)Господа, программисты, помогите решить проблему. У меня в компьютере установлены CD-ROM и CD-RW (два устройства, привода). Хотелось бы написать простенькую программку, которая открывала и закрывала бы дверцы этих двух приводов (CD-ROM и CD-RW). Дверцу CD-ROM'а я могу и открывать, и закрывать, а вот с CD-RW у меня не получается.
Anthony (2005-02-07 20:18:00) [1]
> grom (07.02.05 18:02) [3]
> procedure Open_CloseCD(Drive:String;i:Byte);
> var
> Res:MciError;
> OParm:TMCI_Open_Parms;
> Flags,DeviceID:Word;
> begin
> Flags:=mci_Open_Type or mci_Open_Element;
> OParm.dwCallback:=0;
> OParm.lpstrDeviceType:='CDAudio';
> OParm.lpstrElementName:=PChar(Drive+':');
> Res:=mciSendCommand(0,mci_Open,Flags,Longint(@OParm));
> if Res<>0 then exit;
> DeviceID:=OParm.wDeviceID;
> if i=1 then mciSendCommand(DeviceID,MCI_SET,MCI_SET_DOOR_OPEN,0);
> if i=2 then mciSendCommand(DeviceID,MCI_SET,MCI_SET_DOOR_CLOSED,0);
> mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OParm));
> end;
>
> unit MMSystem;
Спасибо большое!!!!!!! Все работает!!!!
Poirot (2005-02-07 19:40:00) [2]>>grom (07.02.05 18:59) [5]
>>procedure Open_CloseCD(Drive:String;i:Byte);
>>открываеют и закрывают CD-ROM и CD-RW
<offtop>
А DVD+RW? :))
</offtop>
grom (2005-02-07 18:59:00) [3]procedure Open_CloseCD(Drive:String;i:Byte);
открываеют и закрывают CD-ROM и CD-RW
Marser (2005-02-07 18:17:00) [4]> Anthony © (07.02.05 17:03) [2]
> Данные команды открываеют и закрывают CD-ROM, а мне надо
> еще и CD-RW
Опыт эвенкийских шаманов подсказывает, что вся разница где-то в первом параметре mciSendCommand. Духи MS SDK Help подсказывают, что этот параметр можно определить с помощью mciGetDeviceID, великие знания по работе с которой открываются всякому страждущему при нажатии F1.
Великий Маниту заклинает нас при этом использовать модуль MMSystem.
grom (2005-02-07 18:02:00) [5]procedure Open_CloseCD(Drive:String;i:Byte);
var
Res:MciError;
OParm:TMCI_Open_Parms;
Flags,DeviceID:Word;
begin
Flags:=mci_Open_Type or mci_Open_Element;
OParm.dwCallback:=0;
OParm.lpstrDeviceType:='CDAudio';
OParm.lpstrElementName:=PChar(Drive+':');
Res:=mciSendCommand(0,mci_Open,Flags,Longint(@OParm));
if Res<>0 then exit;
DeviceID:=OParm.wDeviceID;
if i=1 then mciSendCommand(DeviceID,MCI_SET,MCI_SET_DOOR_OPEN,0);
if i=2 then mciSendCommand(DeviceID,MCI_SET,MCI_SET_DOOR_CLOSED,0);
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OParm));
end;
unit MMSystem;
Anthony (2005-02-07 17:05:00) [6]Данные команды открывают и закрывают дверцу CD-ROM, а мне нужно CD-RW
Poirot (2005-02-07 16:50:00) [7]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1107782518&n=5