Главная страница
    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.03 c
6-1088617297
leonidus
2004-06-30 21:41
2004.09.05
Тунель через прокси


14-1092636996
Реактор
2004-08-16 10:16
2004.09.05
Проблемы с высвобождением памяти


1-1093004709
Sectey
2004-08-20 16:25
2004.09.05
Strring to PAnsiString Как ?


14-1092695696
Andy BitOff
2004-08-17 02:34
2004.09.05
VMware Workstation


3-1092292069
happyandry
2004-08-12 10:27
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский