Posted on 2011-08-09 07:25
RTY 阅读(350)
评论(0) 编辑 收藏 引用 所属分类:
C/C++ 、
Windows
摘抄了部分网站的文章,主要还是用到Windows的API GetVolumeInformation 这个函数主要用途是获得文件系统信息
1. 摘抄原文地址:http://tech.ddvip.com/2008-11/122655520092169.html
http://hackdiy.com/I-214009.html
2. 以下是源码说明:
声明:
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;
//效果图: