Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CD-ROM [D7, Win95/98]


Zew ©   (2003-05-19 21:06:00) 

Подскажите пожалуйста как выдвинуть именно тот CD-ROM который мне надо, а то у меня их 2 да ещё Nero с виртуальным и получается что выдвигается виртуальный. Если можно пример.


Song   (2003-05-19 21:53:00) [1]

Wow!!!
Пожалуйста.


Zew   (2003-05-19 21:52:00) [2]

Я сделал Это Большоеспасибо


Song   (2003-05-19 21:51:00) [3]

К букве диска прибавляется символ двоеточия.


Zew   (2003-05-19 21:50:00) [4]

А плюс та зачем ( Наверное я тебя достал)


Zew   (2003-05-19 21:46:00) [5]

У меня маленький вопросик Drive+ зачем +


Song   (2003-05-19 21:46:00) [6]

Это буква диска.


Song   (2003-05-19 21:44:00) [7]

Ну тогда брось это дело, в ДНК у тебя проблема :))


Zew   (2003-05-19 21:42:00) [8]

Не открывает


Song   (2003-05-19 21:38:00) [9]

:))

Procedure TForm1.Button1Click(Sender: TObject);
Begin
OpenCD("d"); // Открыть
End;

Procedure TForm1.Button2Click(Sender: TObject);
Begin
CloseCD("d"); // Закрыть
End;


Zew   (2003-05-19 21:35:00) [10]

А подскажи пожалуйста как сделать чтобы это происходило при нажатии на кнопку а то я воопще туплю


Zew   (2003-05-19 21:23:00) [11]

Спасибо сейчас попробую!


Song   (2003-05-19 21:20:00) [12]

.....
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;


Здесь Drive - буква диска.


Zew   (2003-05-19 21:18:00) [13]

Напиши пожалуйста!


Song   (2003-05-19 21:15:00) [14]

В команду mci_Open передаётся структура, где описывается буква диска. Да ты не стесняйся, хэлп почитай!


Zew   (2003-05-19 21:13:00) [15]

Это я знаю а как чтобы открывался Например "E" а не "F"


Song   (2003-05-19 21:11:00) [16]

mciSendCommand+mci_Open
mciSendCommand+MCI_SET_DOOR_OPEN


Наверх

Титульная страница Поиск, карта сайта Написать письмо