Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

Не открывается лоток 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-28865
Максимилиано
2003-01-30 14:45
2003.02.10
Создание обектов по имени класса


14-29074
JibSkeart
2003-01-25 13:18
2003.02.10
Эхх Лето бы скорее !!


1-28708
Colonel Isaev
2003-01-31 14:50
2003.02.10
Вопрос по системе


3-28584
Стас
2003-01-21 14:26
2003.02.10
Фигня с TDateTime


7-29132
WindowsXP
2002-12-07 15:08
2003.02.10
Печать страниц