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

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

CD-ROM и DVD-ROM [D7, WinXP]


Profi ©   (2004-01-14 01:47:00) 

У меня два сидюка! А из Dеlphi открыть-закрыть дверцу, я могу лишь первого, то-бишь CD-ROM'а. Подскажите, как мне проделать тоже самое с DVD-ROM'ам!


Profi   (2004-01-14 14:38:00) [1]

Спасибо, попробую!


hyper_omsk   (2004-01-14 07:34:00) [2]

Нашел в Kulibe

(*******************************************************************************
* DriveTools 1.0                                                               *
*                                                                              *
*                 (c) 1999 Jan Peter Stotz                                     *
*                                                                              *
********************************************************************************
*                                                                              *
* If you find bugs, has ideas for missing featurs, feel free to contact me     *
*                           jpstotz@gmx.de                                     *
*                                                                              *
********************************************************************************
* Date last modified:   May 22, 1999                                           *
*******************************************************************************)

unit DriveTools;

interface

uses

Windows, SysUtils, MMSystem;

function CloseCD(Drive : Char) : Boolean;
function OpenCD(Drive : Char) : Boolean;

implementation

function OpenCD(Drive : Char) : Boolean;
Var

Res : 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;
Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
IF Res<>0 Then exit;
DeviceID:=OpenParm.wDeviceID;
try
Res:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
IF Res=0 Then exit;Result:=True;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;

function CloseCD(Drive : Char) : Boolean;
Var

Res : 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;
Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
IF Res<>0 Then exit;
DeviceID:=OpenParm.wDeviceID;
try
Res:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
IF Res=0 Then exit;
Result:=True;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;

end.


Наверх

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