Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   como abrir y cerrar unidades CDROM (https://www.clubdelphi.com/foros/showthread.php?t=16808)

JoseQ 13-12-2004 11:31:58

como abrir y cerrar unidades CDROM
 
existe alguna funcion de la API para abrir i cerrar las unidades CD-rom ?

defcon1_es 13-12-2004 16:04:48

Hola,
mira este truco de TrucoManía: http://www.q3.nu/trucomania/truco.cgi?108&esp

quetzal 13-12-2004 16:05:00

checate este hilo de trucomania

http://www.q3.nu/trucomania/truco.cgi?108&esp

DarkByte 13-12-2004 19:19:29

Copy & Paste de Trucomanía... para evitar tener que ir de un lugar a otro.

Cita:

Añade 'MMSystem' en el uses de tu form
Código Delphi [-]
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:
Código Delphi [-]
   OpenCd(TRUE);
Para cerrar el CD:
Código Delphi [-]
   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
Código Delphi [-]
 
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;


roman 13-12-2004 19:30:46

Cita:

Empezado por DarkByte
Copy & Paste de Trucomanía... para evitar tener que ir de un lugar a otro.

Este tipo de mensajes son absolutamente innecesarios. Habiéndose ya dado dos enlaces directos al mismo código, ¿cuál es el objeto de pegar aquí el código? ¿Cuál es la aportación?


La franja horaria es GMT +2. Ahora son las 18:02:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi