Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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.01 c
8-28947
Asderg
2002-10-24 13:15
2003.02.10
ПОВОРОТ битмапа


6-28956
ДенМат
2002-12-18 08:56
2003.02.10
DNS, PROXY


1-28831
TimonSoft
2003-02-02 19:20
2003.02.10
Помогите разобраться с KeyPress в Edit.


14-29005
MAN-IN-RED
2003-01-26 14:19
2003.02.10
Вот придурки...


14-29036
kostya2000
2003-01-17 23:08
2003.02.10
Анекдот!!! (Я просто ржал, ИМХО классный анекдот)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский