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

Вниз

как определить cd-romы и выгрузить лоток у выбранного CD   Найти похожие ветки 

 
GraY ©   (2004-07-25 14:25) [0]

как определить cd-romы и выгрузить лоток у выбранного CD


 
ssk ©   (2004-07-25 14:35) [1]

Накопители CD-ROM


function CDList : string;
var
 Drives, Loop : integer;
 Work         : string;
begin
Drives:=GetLogicalDrives;
Result:="";
for Loop:=0 to 25 do
 if ((1 shl Loop) and Drives)<>0 then
  begin
   Work:=Char(65+Loop)+":\";
   if GetDriveType(PChar(Work))=DRIVE_CDROM then
    Result:=Result+Char(65+Loop);
  end;
end;


Открыть-Закрыть CDROM с определенной буквой


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
 begin
  mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
  Result:=True;
 end;
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;


 
GraY ©   (2004-07-25 15:18) [2]

TMCI_Open_Parm к какому юниту относятся?MMSystem не катит!


 
ssk ©   (2004-07-25 15:37) [3]

к нему и относятся -> MMSystem

http://www.ucad.pisem.net/sskcdrom.zip


 
GraY ©   (2004-07-25 16:17) [4]

бОЛЬШОЕ СПАСИБО SSk,А КАК УПРАВЛЯТЬ СКОРОСТЬЮ cd ЗНАЕШ?ИЛИ ГДЕ ИНФУ ПОЧИТАТЬ МОЖНО?


 
ssk ©   (2004-07-25 16:50) [5]

не знаю. этим не занимался.


 
grom   (2004-07-25 18:13) [6]

А можно вот так
....................
function Open_CloseCD(Drive:string;i:integer):Boolean;
var
Res:MciError;
OpenParm:TMCI_Open_Parms;
Flags,DeviceID:Word;
begin
Result:=false;
Flags:=mci_Open_Type or mci_Open_Element;
with OpenParm do begin
dwCallback:=0;
lpstrDeviceType:="CDAudio";
lpstrElementName:=PChar(Drive+":");
end;
Res:=mciSendCommand(0,mci_Open,Flags,Longint(@OpenParm));
if Res<>0 then exit;
DeviceID:=OpenParm.wDeviceID;
try if i=1 then Result:=mciSendCommand(DeviceID,MCI_SET,MCI_SET_DOOR_OPEN,0)= 0;
    if i=2 then Result:=mciSendCommand(DeviceID,MCI_SET,MCI_SET_DOOR_CLOSED,0)= 0;
finally mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;
.................
Open_CloseCD("D",1);
----
Open_CloseCD("D",2);
...............
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=65 to 90 do if GetDriveType(PChar(chr(i)+":\"))=DRIVE_CDROM then begin
ComboBox1.Items.Add(chr(i));
end;
ComboBox1.ItemIndex:=0;
end;



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

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

Наверх




Память: 0.46 MB
Время: 0.033 c
1-1092905782
snake1977
2004-08-19 12:56
2004.09.05
QuickReport


4-1090371176
Вопрос
2004-07-21 04:52
2004.09.05
ФОРМАТИРОВАНИЕ ДИСКА


1-1093168480
Jiurasrasr
2004-08-22 13:54
2004.09.05
Как обеспечить чтобы окно было повнрх всех!


3-1092323437
Ted
2004-08-12 19:10
2004.09.05
Проблема с базой...


3-1092108604
Sphinxtr
2004-08-10 07:30
2004.09.05
Компонента DBGrid





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