鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 编程语言开发 > delphi > >

Delphi调用WinAPI:GetVolumeInformation-读取文件系统信息

来源:互联网 作者:佚名 时间:2015-07-05 21:32
//声明: GetVolumeInformation( lpRootPathName: PChar; {磁盘驱动器代码字符串} lpVolumeNameBuffer: PChar; {磁盘驱动器卷标名称} nVolumeNameSize: DWORD; {磁盘驱动器卷标名称长度} lpVolumeSerialNumber: PDWORD; {磁盘驱动器卷标序列号} var lpMaximum

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

//举例:

procedure TForm1.FormCreate(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 := 'C:/';
 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;

//效果图:

 

网友评论
<