Форум: "Система";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
ВнизНе открывается лоток CD-ROM. Вроде все как написано... Найти похожие ветки
← →
Hopkins (2002-12-04 20:32) [0]Все это я соблюдил :
1) В uses нужно сначала объявить модуль MMSystem:
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, MMSystem;
2) По нажатию кнопок написать:
procedure TForm1.OpenBtnClick(Sender: TObject); //Для открытия
begin
mciSendString("Set cdaudio door open wait",nil,0,handle);
end;
procedure TForm1.CloseBtnClick(Sender: TObject); //Для закрытия
begin
mciSendString("Set cdaudio door closed wait",nil,0,handle);
end;
--------------------------------------------
ничего не выходит. CD-ROM в отличном состоянии. Другие проги его запросто открывают.
-------------------------------------------------------
Спасибо.
← →
Ich Hasse (2002-12-04 21:51) [1]ИМХО сидюк старый и не поддерживает.
← →
Dm9 (2002-12-05 06:33) [2]Попробуй эти варианты
\Как програмно открыть\закрыть поддон CD-ROM?
Группа ссылок: MCI
Вариант 1:
Функция OpenCD открывает лоток CDROM. Параметр Drive - буква диска лоток которого необходимо открыть.
Функция CloseCD закрывает лоток CDROM. Параметр Drive - буква диска лоток которого необходимо закрыть.
.....
uses
... MMSystem;
function OpenCD(Drive : Char) : Boolean;
Var
Err : MciError;
OpenParm: TMCI_Open_Parms;
Flags : DWord;
S : String;
DeviceID : Word;
begin
Result:=false;
S:=Drive+":";
Flags:=mci_Open_Type or mci_Open_Element; // См. mci_Open
With OpenParm do
begin
dwCallback := 0;
lpstrDeviceType := "CDAudio";
lpstrElementName := PChar(S);
end;
Err := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
IF Err<>0 Then exit;
DeviceID:=OpenParm.wDeviceID;
try
Err:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
IF Err=0 Then exit;
Result:=True;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;
function CloseCD(Drive : Char) : Boolean;
Var
Err : MciError;
OpenParm: TMCI_Open_Parms;
Flags : DWord;
S : String;
DeviceID : Word;
begin
Result:=false;
S:=Drive+":";
Flags:=mci_Open_Type or mci_Open_Element;
With OpenParm do
begin
dwCallback := 0;
lpstrDeviceType := "CDAudio";
lpstrElementName := PChar(S);
end;
Err := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
IF Err<>0 Then exit;
DeviceID:=OpenParm.wDeviceID;
try
Err:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
IF Err=0 Then exit;
Result:=True;
finally
mciSendCommand(DeviceID, MCI_CLOSE, Flags, Longint(@OpenParm));
end;
end;
Вариант 2:
Данные функции работаю только с первым устройством в системе:
Открыть дверцу:
mciSendString( "Set cdaudio door open wait", nil, 0, application.handle);
закрыть дверцу:
mciSendString( "Set cdaudio door closed wait", nil, 0, application.handle);
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c