Einzelnen Beitrag anzeigen

Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#14

Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)

  Alt 11. Jan 2005, 19:11
Als erstes habe ich mir 'Peter Tribe's VB ActiveX / Delphi VCL interface to AKRip32.dll' von der Seite http://akrip.sourceforge.net/download.html angesehen. Rausgekommen ist unten stehende Unit. Benötigt werden dafür die AKRip32.Dll, die AKRip32.pas und die AKRipVCL.pas. Eine Zuordnung zu den Laufwerksbuchstaben wird nicht vorgenommen. Wenn man die Laufwerksbuchstaben aber nicht manuell geändert hat, passen sie.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls,
  Forms, Dialogs, ComCtrls, StdCtrls, Buttons, AKRipVCL;

type
  TForm1 = class(TForm)
    Drives: TListBox;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  AK: TAKRip;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  i : Integer;
  lngHA : Integer;
  lngTGT : Integer;
  lngLUN : Integer;
  lngPAD : Integer;
  strID : String;
  strVendor : String;
  strProductID : String;
  strRevision : String;
  strVendorSpec : String;

begin
  Drives.Clear;
  for i := 0 to 25 do
    if GetLogicalDrives and (1 shl i) <> 0
    then
      if GetDriveType(PAnsiChar(Chr(i + Ord('A')) + ':\')) = DRIVE_CDROM
      then Drives.Items.Add(Chr(i + Ord('A')) + ' - ');

  AK.GetCDList;
  if AK.GetCDListCount > 0
  then begin
    for i :=0 to AK.GetCDListCount - 1 do
    begin
      AK.GetCDListRecord(i, lngHA, lngTGT, lngLUN, lngPAD, strID);
      Drives.Items[i] := Drives.Items[i]
                       + '['
                       + IntToStr(lngHA)
                       + ':'
                       + IntToStr(lngTGT)
                       + ':'
                       + IntToStr(lngLUN)
                       + '] ';

      AK.GetCDListInfo(i, strVendor, strProductID, strRevision, strVendorSpec);
      Drives.Items[i] := Drives.Items[i]
                       + trim(strVendor)
                       + ' '
                       + trim(strProductID);

    end;
  end;

end;

end.
Angehängte Dateien
Dateityp: exe project1_631.exe (377,5 KB, 43x aufgerufen)
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat