Ver Mensaje Individual
  #4  
Antiguo 26-07-2003
JMGR JMGR is offline
Miembro
 
Registrado: jun 2003
Ubicación: Santa Cruz de Tenerife
Posts: 46
Reputación: 0
JMGR Va por buen camino
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.
Responder Con Cita