如何判断磁盘分区是FAT32还是NTFS格式的?用什么函数?

puma66 2008-04-22 11:51:10
谢谢!
...全文
317 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwp3321 2008-04-23
  • 打赏
  • 举报
回复
WinAPI: GetVolumeInformation - 读取文件系统信息
//声明:
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;
--------------------------------------------------------------------------------
http://www.cnblogs.com/images/cnblogs_com/del/122519/r_114.png
sterrys 2008-04-22
  • 打赏
  • 举报
回复
GetVolumeInformation
CathySun118 2008-04-22
  • 打赏
  • 举报
回复
GetVolumeInformation()

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧