Thema: Delphi Load-/Eject-Media

Einzelnen Beitrag anzeigen

Tonki

Registriert seit: 18. Sep 2006
10 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Load-/Eject-Media

  Alt 29. Sep 2006, 16:22
aaaah ok

aber jetzt hat sich ein neues problem aufgetahn *seufz*

das programm startet jetzt, es gibt auch keine fehlermeldungen mehr aber wenn ich auf den button klicke passiert nichts... normalerweise müsste mein DVD Laufwerk aufgehn... hab extra geschaut das laufwerk heisst D und so stehts auch im code... jemand ne idee?


hier der Code:
Delphi-Quellcode:
unit Laufwerke;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}


 const
  IOCTL_STORAGE_EJECT_MEDIA = $2D4808;
  IOCTL_STORAGE_LOAD_MEDIA = $2D480C;

//Fährt die Schublade ein
function LoadMedia(DriveLetter: String): Boolean;
var
  hr:THandle;
  buffer: Cardinal;
begin
  hr := CreateFile(PChar('\\.\'+DriveLetter+':'), GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE, NIL, OPEN_EXISTING, 0, 0);
  if hr <> INVALID_HANDLE_VALUE then
    if DeviceIOControl(hr, IOCTL_STORAGE_LOAD_MEDIA, NIL, 0, NIL, 0, buffer, NIL) then
      result := true
     else
      result := false;
    CloseHandle(hr);
end;

procedure TForm2.Button1Click(Sender: TObject);

begin
Loadmedia ('D')
end;

end.
  Mit Zitat antworten Zitat