Главная страница
    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
3-1081333332
Ascana_
2004-04-07 14:22
2004.05.02
Как выбранную запись сделать первой?


1-1081852453
Fast
2004-04-13 14:34
2004.05.02
При уничтожении класса выпадаю в ошибку почему?


1-1081992439
scorpi
2004-04-15 05:27
2004.05.02
Excel график.....!!!!


7-1079007671
Vasek
2004-03-11 15:21
2004.05.02
Регистрация типа файлов в системе и их запуск


1-1082041888
Avreliy
2004-04-15 19:11
2004.05.02
Массив объектов класса TEdit





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