delphi GetVolumeInformation获取硬盘分区信息


本文整理自网络,侵删。

 
{//声明:
GetVolumeInformation(
  lpRootPathName: PChar;               {磁盘驱动器代码字符串}
  lpVolumeNameBuffer: PChar;           {磁盘驱动器卷标名称}
  nVolumeNameSize: DWORD;              {磁盘驱动器卷标名称长度}
  lpVolumeSerialNumber: PDWORD;        {磁盘驱动器卷标序列号}
  var lpMaximumComponentLength: DWORD; {系统允许的最大文件名长度}
  var lpFileSystemFlags: DWORD;        {文件系统标识}
  lpFileSystemNameBuffer: PChar;       {文件操作系统名称}
  nFileSystemNameSize: DWORD           {文件操作系统名称长度}
): BOOL;
}

procedure TForm1.Button1Click(Sender: TObject);
var
  RootPath: array[0..20] of Char;
  VolName: array[0..255] of Char;
  SerialNumber: DWORD;
  MaxCLength: DWORD;
  FileSysFlag: DWORD;
  FileSysName: array[0..255] of Char;
begin
  RootPath := 'i:\';

  GetVolumeInformation(
    RootPath,
    VolName,
    255,
    @SerialNumber,
    MaxCLength,
    FileSysFlag,
    FileSysName,
    255
  );

  Memo1.Clear;
  with Memo1.Lines do
  begin
    Add(Format('磁盘驱动器代码字符串:'+ #9#9 +'%s',[RootPath]));
    Add(Format('磁盘驱动器卷标名称:'+ #9#9 +'%s',[VolName]));
    Add(Format('磁盘驱动器卷标序列号:'+ #9#9 +'%s',[IntToHex(SerialNumber,8)]));
    Add(Format('系统允许的最大文件名长度:'+ #9 +'%d',[MaxCLength]));
    Add(Format('文件系统标识:'+ #9#9#9 +'%d',[FileSysFlag]));
    Add(Format('文件系统名称:'+ #9#9#9 +'%s',[FileSysName]));
  end;

end;

相关阅读 >>

Delphi 查看指定进程占用端口

Delphi 2009 新增单元 character isletter、isupper、islower、isdigit、isnumber

Delphi 检查字符串是不是 包含 中文和获取中文字符个数

Delphi trim删除字符串首尾空格

Delphi捕获u盘插入或者拔出

Delphi 得到cxgrid筛选后的记录数

Delphi xe10 给程序添加uac权限

Delphi clientdataset 与fdmemtable 创建 字段与追加记录

Delphi 导出excel报错:ole error 800a03ec

Delphi firedac 下的 sqlite [9] - 关于排序

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...