Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi CD-Laufwerk auswerfen (https://www.delphipraxis.net/39306-cd-laufwerk-auswerfen.html)

mr47 31. Jan 2005 18:19


CD-Laufwerk auswerfen
 
Hi. Ich hoffe dass ist die richtige Sparte! In vielen Programmen ist es möglich das CD-Laufwerk auszuwerfen. Also dass die Schublade rauskommt :mrgreen: . Geht das in Delphi auch irgendwie?

PS: Ich hab gesucht und auch in der Code-Library nix gefunden!

Ultimator 31. Jan 2005 18:21

Re: CD-Laufwerk auswerfen
 
Eine Möglichkeit wäre, das ganze mit der BASS.DLL zu machen, steht ziemlich einfach in der Hilfe dazu erklärt :-)

smart 31. Jan 2005 18:26

Re: CD-Laufwerk auswerfen
 
Ist nicht von mir, habe ich auch mal bekommen, aber klappt ganz gut.

Delphi-Quellcode:
uses MMSystem;

function OpenCD(Drive: String): Boolean;
var
  Res: 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;
  Res := mciSendCommand(0, MCI_OPEN, Flags, Longint(@OpenParm));
  if Res <> 0 then Exit;
  DeviceID := OpenParm.wDeviceID;
  try
    Res := mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
    if Res = 0 then Exit;
    Result := True;
  finally
    mciSendCommand(DeviceID, MCI_CLOSE, Flags, Longint(@OpenParm));
  end;
end;

function CloseCD(Drive: String): Boolean;
var
  Res: 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;
  Res := mciSendCommand(0, MCI_OPEN, Flags, Longint(@OpenParm));
//  if Res <> then Exit;
  DeviceID := OpenParm.wDeviceID;
  try
    Res := mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
    if Res = 0 then Exit;
    Result := True;
  finally
    mciSendCommand(DeviceID, MCI_CLOSE, Flags, Longint(@OpenParm));
  end;
end;

Nils_13 31. Jan 2005 18:54

Re: CD-Laufwerk auswerfen
 
Hi,

Delphi-Quellcode:
mciSendString('Set cdaudio door open wait', nil, 0, handle);
#
Weitere Tipps findest du auf Delphi-World.de


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz