本文整理自网络,侵删。
procedure TForm1.FormCreate(Sender: TObject);var res: TResourceStream; driveList: array [1..64] of Char; drive: string; driveName: array [0..127] of Char; rev1, rev2: Cardinal; driveLen: Cardinal; driveType: Cardinal; start, stop: Integer;const defDriveName: string = '可移动磁盘';begin // { GetDriveType(路径) 判断一个磁盘驱动器的类型 返回一个整数
0 驱动器类型不确定1 系统目录不存在2 DRIVE_REMOVABLE 是可移动驱动器3 DRIVE_FIXED 是固定驱动器4 DRIVE_REMOTE 是网络驱动器5 DRIVE_CDROM 是CD-ROM驱动器6 DRIVE_RAMDISK 是虚拟驱动器}
driveLen := GetLogicalDriveStrings(SizeOf(driveList), @driveList); start := 1; for stop := 1 to driveLen do begin if driveList[stop] = #0 then begin drive := Copy(driveList, start, stop - start); driveType := GetDriveType(PWideChar(drive)); GetVolumeInformation(PWideChar(drive), @driveName, SizeOf(driveName), nil, rev1, rev2, nil, 0);
if Length(string(driveName)) = 0 then begin ZeroMemory(@driveName, SizeOf(driveName)); CopyMemory(@driveName, PWideChar(defDriveName), Length(defDriveName) * SizeOf(Char)); end;
if driveType = DRIVE_FIXED then begin ComboBox_Drive.AddItem(Format('%s', [drive]), TStringBuilder.Create(drive)); end;
start := stop + 1; end;end;
ComboBox_Drive.ItemIndex := 0;
end;
相关阅读 >>
Delphi 将 html 代码直接加入到 twebbrowser 组件中去
Delphi tnethttpclient https忽略证书验证
Delphi运行时的问题,cannot focus a disabled or invisible window!
更多相关阅读请进入《Delphi》频道 >>