读书人

怎么通过编程获得硬盘的分区名

发布时间: 2012-02-23 22:01:35 作者: rapoo

如何通过编程获得硬盘的分区名
不知道我问题的表达对不对...

Delphi下如何获得硬盘分区的名称...

比如下面这些:
系统盘 (C:)
下载 (D:)
本地磁盘 (E:)

[解决办法]
这些是分区的卷标(Volume), 可以用API函数GetVolumeInformation来获得, 例如:
procedure TForm1.Button1Click(Sender: TObject);
var
sRootPathName : String;
sVolumeName : String;
dwVolumeSerianNumber : DWORD;
dwMaximumComponentLength: DWORD;
dwFileSystemFlags : DWORD;
sFileSystemName : String;
begin
SetLength(sVolumeName, 255);
SetLength(sFileSystemName, 255);
sRootPathName := 'C:\ ';
GetVolumeInformation(PChar(sRootPathName), PChar(sVolumeName), 255, @dwVolumeSerianNumber,
dwMaximumComponentLength, dwFileSystemFlags, PChar(sFileSystemName), 255);
sVolumeName := String(PChar(sVolumeName));
sFileSystemName := String(PChar(sFileSystemName));
ShowMessage (Format( 'The volume name of %s is %s, the file system name of %s is %s ',
[sRootPathName, sVolumeName, sRootPathName, sFileSystemName]));
end;

读书人网 >.NET

热点推荐