Главная страница
    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.46 MB
Время: 0.035 c
1-1081878319
Cfp12
2004-04-13 21:45
2004.05.02
Timage


1-1081771553
tytus
2004-04-12 16:05
2004.05.02
Как в процедуру из библиотеки передать TStringList?


4-1078844305
Ландграф Павел
2004-03-09 17:58
2004.05.02
Нажатие кнопки на чужом окне


8-1075538455
Reals
2004-01-31 11:40
2004.05.02
Как нарисовать на Рабочем столе (Desktop`е)


1-1081708270
Артем
2004-04-11 22:31
2004.05.02
"Canvas does not allow drawing"





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