Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Dateien / Laufwerke (https://www.delphipraxis.net/41-library-dateien-laufwerke/)
-   -   Delphi Laufwerksbuchstaben für bestimmten Typ herausfinden (https://www.delphipraxis.net/145820-laufwerksbuchstaben-fuer-bestimmten-typ-herausfinden.html)

fkerber 8. Jan 2010 23:22


Laufwerksbuchstaben für bestimmten Typ herausfinden
 
marabu stellt hier einen Code vor, mit dem man alle Buchstaben von Laufwerken eines bestimmten Typs ermitteln kann.

Delphi-Quellcode:
procedure GetLogicalDriveLetters(s: TStrings; driveType: Word);
var
  dw: DWORD;
  letter: Char;
  rootDir: string;
begin
  s.BeginUpdate;              // Visualisierung abschalten
  s.Clear;                    // Mit leerer Liste beginnen
  dw := GetLogicalDrives;     // Mount-Status aller Laufwerksbuchstaben
  for letter := 'A' to 'Z' do // Schleife über alle Laufwerke
  begin
    rootDir := letter + ':\';
    if Odd(dw) and (GetDriveType(PChar(rootDir)) = driveType) then
      s.Add(letter + ':');    
    dw := dw shr 1;           // Nächstes Status-Bit auf Bit-Position 0 schieben
  end;
  s.EndUpdate;                // Visualisierung wieder einschalten
end;
Ein Beispielaufruf könnte so aussehen:
Delphi-Quellcode:
procedure TDemoForm.TestButtonClick(Sender: TObject);
begin
  GetLogicalDriveLetters(ListBox.Items, DRIVE_CDROM);
end;
Als Laufwerkstypen können die folgenden übergeben werden:
DRIVE_UNKNOWN
DRIVE_NO_ROOT_DIR
DRIVE_REMOVABLE
DRIVE_FIXED
DRIVE_REMOTE
DRIVE_CDROM
DRIVE_RAMDISK


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

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