我想获取驱动器的名称或标签。
我使用这个功能:
function GetVolumeLabel(DriveChar: Char): string;
var
NotUsed: DWORD;
VolumeFlags: DWORD;
VolumeInfo: array[0..MAX_PATH] of Char;
VolumeSerialNumber: DWORD;
Buf: array [0..MAX_PATH] of Char;
begin
GetVolumeInformation(PChar(DriveChar + ':\'),
Buf, SizeOf(VolumeInfo), @VolumeSerialNumber, NotUsed,
VolumeFlags, nil, 0);
SetString(Result, Buf, StrLen(Buf)); { Set return result }
Result:=AnsiUpperCase(Result)
end;
例如,这是我在 Windows Explorer 中的驱动器:
Local Disk (C:)
Data (D:)
DVD RW Drive (E:)
代码的输出:
C:
D: DATA
E:
C 和 E 的标签是空的。我应该使用什么 winapi/function 来显示未命名驱动器(C 和 E)的标签?