一、C++GetDriveType-获取磁盘类型
//声明:GetDriveType(
lpRootPathName: PChar {磁盘根目录}
): UINT;//返回值:DRIVE_UNKNOWN = 0; {未知}
DRIVE_NO_ROOT_DIR = 1; {可移动磁盘}
DRIVE_REMOVABLE = 2; {软盘}
DRIVE_FIXED = 3; {本地硬盘}
DRIVE_REMOTE = 4; {网络磁盘}
DRIVE_CDROM = 5; {CD-ROM}
DRIVE_RAMDISK = 6; {RAM 磁盘}//考试大举例:
procedure TForm1.FormCreate(Sender: TObject);
var
c: Cardinal;
begin
c := GetDriveType('C:');
ShowMessage(IntToStr(c)); {3; 说明是本地硬盘}
end;
二、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;//效果图:
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.net/exam/