Einzelnen Beitrag anzeigen

Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.721 Beiträge
 
Delphi XE Professional
 
#1

Laufwerksbuchstaben für bestimmten Typ herausfinden

  Alt 8. Jan 2010, 23:22
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 := 'Ato 'Zdo // 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
Frederic Kerber
  Mit Zitat antworten Zitat