Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

CD ROM   Найти похожие ветки 

 
kamerad   (2004-03-09 16:35) [0]

Есть команда открыть CD ROM и закрыть CD ROM.
А если CD ROMы установлены в количестве 2 шт (штук), то какой будет открываться?
У меня было 2 CD ROMа, но команды такой я еще не знал, и Delphi не было тогда у меня.


 
Gorlum ©   (2004-03-09 17:28) [1]

В этом примере открывается тот дисковод, в который вставлен диск с программой (т.е. прога запускается с диска, а по её завершении дисковод, в котором диск, открывается).
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;
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
 begin
 mcisendcommand(DeviceID, MCI_Close,Flags,Longint(@OpenParm));
 Result:=true;
 end;
end;
end;


 
kamerad   (2004-03-09 18:25) [2]

Ну, это кончено, круто...
===========================================
Есть команда открыть CD ROM и закрыть CD ROM.
А если CD ROMы установлены в количестве 2 шт (штук), то какой ИЗ 2 СИДИРОМОВ будет открываться?


 
DDA ©   (2004-03-09 18:32) [3]

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;


 
HepB   (2004-03-09 23:53) [4]

Это всё замечательно. Но для ваших функций нужно знать буквы КД приводов. Как их узнать? Или же скажите как можно обойтись без них, зная номер привода из реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom\Enum ?


 
evvcom   (2004-03-10 08:40) [5]

GetDriveType



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.036 c
14-1081646352
Думкин
2004-04-11 05:19
2004.05.02
С днем рождения! 11 апреля.


1-1082110042
dimon1979
2004-04-16 14:07
2004.05.02
Встроенный ассемблер


8-1075134301
ST
2004-01-26 19:25
2004.05.02
FFT


4-1078608348
GanibalLector
2004-03-07 00:25
2004.05.02
какой uses для RasCreatePhoneBookEntry?


8-1075968210
SH
2004-02-05 11:03
2004.05.02
Чёрнобелый Jpeg





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский