Buenas...
Danytorres aqui te pongo el codigo que uso para abrir la bandeja del CD, esta sacado de
Trucomania :
Añade 'MMSystem' en el uses de tu form
procedure OpenCd(AOpen:Boolean);
const
DoPlay : array[Boolean] of string =
('Set cdaudio door closed wait',
'Set cdaudio door open wait');
var
MyError : LongInt;
MyErrorString : array[0..MAXERRORLENGTH - 1] of char;
begin
MyError := mciSendString(pChar(DoPlay[AOpen]), nil, 0, 0);
if MyError <> 0 then
begin
MciGetErrorString(MyError,MyErrorString,MAXERRORLENGTH - 1);
Showmessage(MyErrorString);
Exit;
end;
end;
Para abrir el CD:
OpenCd(TRUE);
Para cerrar el CD:
OpenCd(FALSE);
El anterior truco esta muy bien, pero si tenemos más de una unidad de CD no deja seleccionar cual abrir.
Para eso usaremos este otro código:
-Añade 'MPlayer' en el uses de tu form
procedure TForm1.Button1Click(Sender: TObject);
procedure AbreCD(Disco : char);
var
Tokata : TMediaPlayer;
begin
Tokata := TMediaPlayer.Create(nil);
with Tokata do
begin
Parent := Self;
Visible := FALSE;
Shareable := TRUE;
DeviceType := dtCDAudio;
FileName := Disco + ':';
Wait:=FALSE;
Open;
Eject;
Close;
Free;
end;
end;
begin
AbreCD('F');
end;
Lo de cerrar todas las unidades todavia no lo he conseguido pero sigo en ello. Cuando descubra como lo pondre por aqui...
Un saludo.