Výsledky 1 až 3 z 3

Téma: Otevreni/Zavreni dvirek CD mechaniky v DELPHI nebo C++ Build

  1. #1

    Standardní Otevreni/Zavreni dvirek CD mechaniky v DELPHI nebo C++ Build

    Otevreni/Zavreni dvirek CD mechaniky v DELPHI nebo C++ Builderu

    a hlavne hledam takovou fci aby fungovala i v konfiguraci vice mechanik
    (ne jen na prvni)

    Help please ...

  2. #2

    Standardní

    navodu je na netu hafo. staci si vybrat
    Kód:
    // X je oznaceni pismena mechaniky
    mciSendString('open cdaudio!X: alias driveX', nil, 0, 0);
    mciSendString('set driveX door open wait', nil, 0, 0);
    
    // a todle pro zavreni
    mciSendString('set driveX door closed wait', nil, 0, 0);
    nebo
    Kód:
    function IsDriveCD(Drive : char) : longbool;
    var
      DrivePath : string;
    begin
      DrivePath := Drive + ':\';
      result := LongBool(GetDriveType(PChar(DrivePath)) and RIVE_CDROM);
    end;
    
    function EjectCD(Drive : char) : bool;
    var
      mp : TMediaPlayer;
    begin
      result := false;
      Application.ProcessMessages;
      if not IsDriveCD(Drive) then exit;
      mp := TMediaPlayer.Create(nil);
      mp.Visible := false;
      mp.Parent := Application.MainForm;
      mp.Shareable := true;
      mp.DeviceType := dtCDAudio;
      mp.FileName := Drive + ':';
      mp.Open;
      Application.ProcessMessages;
      mp.Eject;
      Application.ProcessMessages;
      mp.Close;
      Application.ProcessMessages;
      mp.free;
      result := true;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if not EjectCD('D') then
        ShowMessage('Not A CD Drive');
    end;

  3. #3

    Standardní

    Citace Původně odeslal jedik
    navodu je na netu hafo. staci si vybrat
    Kód:
    // X je oznaceni pismena mechaniky
    mciSendString('open cdaudio!X: alias driveX', nil, 0, 0);
    mciSendString('set driveX door open wait', nil, 0, 0);
    
    // a todle pro zavreni
    mciSendString('set driveX door closed wait', nil, 0, 0);
    nebo
    Kód:
    function IsDriveCD(Drive : char) : longbool;
    var
      DrivePath : string;
    begin
      DrivePath := Drive + ':\';
      result := LongBool(GetDriveType(PChar(DrivePath)) and RIVE_CDROM);
    end;
    
    function EjectCD(Drive : char) : bool;
    var
      mp : TMediaPlayer;
    begin
      result := false;
      Application.ProcessMessages;
      if not IsDriveCD(Drive) then exit;
      mp := TMediaPlayer.Create(nil);
      mp.Visible := false;
      mp.Parent := Application.MainForm;
      mp.Shareable := true;
      mp.DeviceType := dtCDAudio;
      mp.FileName := Drive + ':';
      mp.Open;
      Application.ProcessMessages;
      mp.Eject;
      Application.ProcessMessages;
      mp.Close;
      Application.ProcessMessages;
      mp.free;
      result := true;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if not EjectCD('D') then
        ShowMessage('Not A CD Drive');
    end;
    dik
    me se osvedcilo http://forum.builder.cz/read.php?f=18&i=4115&t=4115

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. Kradený notebook
    Založil logich v sekci fóra Reklamace a §
    Odpovědí: 34
    Poslední příspěvek: 14.05.2004, 09:46
  2. Odpovědí: 14
    Poslední příspěvek: 01.04.2004, 17:51
  3. Jak vyrobit bootovací CD s Win 2000 nebo XP
    Založil ctrl_j v sekci fóra Ostatní operační systémy
    Odpovědí: 6
    Poslední příspěvek: 31.03.2004, 15:55
  4. Kvalitni CD nebo DVD mechanika ?
    Založil Damian v sekci fóra Optické, přenosné a jiné disk(et)y
    Odpovědí: 3
    Poslední příspěvek: 31.01.2003, 19:13

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •