得到机器中,所有分区的盘符和类型

c盘 本地磁盘
d盘 本地磁盘
e盘 映射磁盘

解决方案 »

  1.   

    Google上有例子的
    API
    GetDriveType
    GetDriveLetterhttp://lysoft.7u7.net
      

  2.   

    function GetDriverType(s: string): string;
    var
      typ: Integer;
    begin
      s:=s+':\';
      typ := GetDriveType(PChar(s));
      if Typ <> 0 then
        case typ of
          DRIVE_REMOVABLE:
            begin
              result:=('Drive Removable / Diskette');
            end;
          DRIVE_FIXED:
            begin
              result:=('Drive fixed / Festplatte');
            end;
          DRIVE_CDROM:
            begin
              result:=('CD ROM Drive');
            end;
          DRIVE_RAMDISK:
            begin
              result:=('RAM Drive');
            end;
          DRIVE_REMOTE:
            begin
              result:=('Remote Drive / Netzlaufwerk');
            end;
        end;
    end;function myGetLogicalDrives: string;
    var
      drives: set of 0..25;
      drive: integer;
    begin
      Result := '';
      DWORD(drives) := Windows.GetLogicalDrives;
      for drive := 0 to 25 do
        if drive in drives then
          Result := Result + Chr(drive + Ord('A')) + '(' + GetDriverType(Chr(drive +
            Ord('A'))) + ')';
    end;
    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      edit1.Text := myGetLogicalDrives;
    end;