Einzelnen Beitrag anzeigen

kumar89
(Gast)

n/a Beiträge
 
#10

Re: Lokale Laufwerke auslesen ohne Netzwerk

  Alt 17. Jun 2009, 13:39
Des wären die Netzlaufwerke die muss ich so auslesen da ich die Namen von den Netzlaufwerken brauch geht weiter alphabetisch so bis Z.


Delphi-Quellcode:
begin // Netzwerk A
regist := TRegistry.Create;
  try
    regist.RootKey := HKEY_CURRENT_USER;
    try
      regist.OpenKey('Network\A', false);
      ListboxDrives.Items.add(regist.CurrentPath[9] + ': ' + regist.ReadString('RemotePath'));
    except
    end;
  finally
    regist.free;
  end;
 begin // Netzwerk B
regist := TRegistry.Create;
  try
    regist.RootKey := HKEY_CURRENT_USER;
    try
      regist.OpenKey('Network\B', false);
      ListBoxDrives.Items.add(regist.CurrentPath[9] + ': ' + regist.ReadString('RemotePath'));
    except
    end;
  finally
    regist.free;



So les ich die lokalen Laufwerke aus

Delphi-Quellcode:
procedure TfrmSystemInfo.GetDrives(const AItems: TStrings); //lokale Laufwerke
const
  DriveTypeTexts: array[DRIVE_UNKNOWN..DRIVE_RAMDISK] of string =
   ('Unbekannt', 'Kein Wurzelverzeichnis', 'Diskettenlaufwerk', 'Festplatte','',
   'DVD-Laufwerk', 'RAMDisk');
var
  Drive: Char;
  DriveType: Integer;
  DriveMask: Integer;
  Flag: Integer;
begin
  DriveMask := GetLogicalDrives;
  flag := 1;
  for Drive := 'Ato 'Zdo //Jeden Buchstaben gegenprüfen
  begin
    if (flag and DriveMask) <> 0 then
    begin
      DriveType := GetDriveType(PChar(Format('%S:\',[Drive]) ) ) ;
      AItems.Add(Format('%s: %s', [Drive, DriveTypeTexts[DriveType]]));
    end;
    flag := flag shl 1;
  end;
end;

GetDrives(ListBoxDrives.Items);

Ich hoffe du kommst damit klar wenn net, ruhig fragen
  Mit Zitat antworten Zitat