Home | Kontakt | Sitemap

Start

Über mich

Kontakt

Sitemap

Lizenz

Anleitungen

DVD, miniDVD

SVCD

Audio, Audio-CD (CD-DA)

AVI

Software

Von Freunden und Bekannten

Eigene Programme

Programmierung

Delphi

Lazarus

Delphi/Lazarus

Projekte

MPEG-1/2 Video

Optische Laufwerke

Audio-CD (CDDA)

Raspberry Pi Dashcam

Verschiedenes

MPEG 2 Schnitt

Project X

VCD Easy

Hardlinks

Windows

Links

Software

Projekte | Optische Laufwerke Laufwerke - Zähler

Zähler

Die Windows Funktion CreateFile erlaubt die Verwendung von Device Namespaces, dass bedeutet, man kann mit CdRom gefolgt von einem Zähler das Handle auf ein Laufwerk erhalten. In der Demo wird bei der Erstellung der Klasse beginnend mit 0 versucht das Handle zu erhalten:

function TOptDrives.DriveHandle(aDrive: Integer): THandle;
{********************************************************************************
*  Das Handle zu dem mit den Buchstaben bezeichneten Laufwerk holen.
}
var
  dwDesiredAccess : Cardinal;
  dwShareMode     : Cardinal;
begin
  dwDesiredAccess := GENERIC_READ or GENERIC_WRITE;
  dwShareMode     := FILE_SHARE_READ or FILE_SHARE_WRITE;
  Result          := CreateFile(PAnsiChar(Format('\\.\cdrom%d', [aDrive])),
                                dwDesiredAccess, dwShareMode,
                                nil, OPEN_EXISTING, 0, 0);
end;
 
constructor TOptDrives.Create;
{********************************************************************************
*  Class erstellen.
}
var
  hDevice : THandle;
begin
  {
  *  Handle auf erstes Laufwerk holen.
  }
  fCount := 0;
  hDevice := DriveHandle(fCount);
  {
  *  So lange ein gültiges Handle vorliegt, Laufwerk eintragen und Informationen
  *  holen.
  }
  while hDevice <> INVALID_HANDLE_VALUE
  do begin
    {
    *  Handle auf das nächste Laufwerk holen.
    }
    inc(fCount);
    hDevice := DriveHandle(fCount);
  end;
end;

Das Ergebnis des Beispiels sieht so aus:

Counter (podCounter.7z - 224 kb) MD5 (1 kb). Stand: 28. April 2013

Änderungen an der Demo

28.04.2013Kleine Überarbeitung und neuer Name.
04.04.2013Überarbeitung.

Buchstaben > Zähler > SCSI Adressen