Форум: "WinAPI";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Вниз
Как открыть дверцу CD-RW? Найти похожие ветки
← →
Anthony © (2005-02-07 16:46) [0]Господа, программисты, помогите решить проблему. У меня в компьютере установлены CD-ROM и CD-RW (два устройства, привода). Хотелось бы написать простенькую программку, которая открывала и закрывала бы дверцы этих двух приводов (CD-ROM и CD-RW). Дверцу CD-ROM"а я могу и открывать, и закрывать, а вот с CD-RW у меня не получается.
← →
Poirot © (2005-02-07 16:50) [1]http://delphimaster.net/view/4-1107782518/
← →
Anthony © (2005-02-07 17:05) [2]Данные команды открывают и закрывают дверцу CD-ROM, а мне нужно CD-RW
← →
grom (2005-02-07 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;
← →
Marser © (2005-02-07 18:17) [4]> Anthony © (07.02.05 17:03) [2]
> Данные команды открываеют и закрывают CD-ROM, а мне надо
> еще и CD-RW
Опыт эвенкийских шаманов подсказывает, что вся разница где-то в первом параметре mciSendCommand. Духи MS SDK Help подсказывают, что этот параметр можно определить с помощью mciGetDeviceID, великие знания по работе с которой открываются всякому страждущему при нажатии F1.
Великий Маниту заклинает нас при этом использовать модуль MMSystem.
← →
grom (2005-02-07 18:59) [5]procedure Open_CloseCD(Drive:String;i:Byte);
открываеют и закрывают CD-ROM и CD-RW
← →
Poirot © (2005-02-07 19:40) [6]>>grom (07.02.05 18:59) [5]
>>procedure Open_CloseCD(Drive:String;i:Byte);
>>открываеют и закрывают CD-ROM и CD-RW
<offtop>
А DVD+RW? :))
</offtop>
← →
Anthony © (2005-02-07 20:18) [7]
> 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;
Спасибо большое!!!!!!! Все работает!!!!
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c