如何获取系统文件浏览器中显示的文件,目录或文件夹的系统显示名称?例如,原始CD以某种方式命名,我想做一点复制保护
答案 0 :(得分:1)
Inno Setup不提供此类功能。但是,您可以轻松编写自己的DLL来调查安装程序的CD驱动器的标签。在Pascal中,只需
function GetCDLabel: string;
var
VolumeName: PChar;
dummy: cardinal;
begin
GetMem(VolumeName, MAX_PATH * sizeof(char));
try
if GetVolumeInformation(PChar('D:\'), VolumeName, MAX_PATH + 1, nil, dummy, dummy, nil, 0) then
result := VolumeName
else
RaiseLastOSError; // or result := 'Invalid';
finally
FreeMem(VolumeName);
end;
end;
Inno Setup允许您在设置中包含DLL,并在安装过程中调用这些DLL中的函数。当然,您的设置必须告诉DLL函数其文件名,以便DLL函数可以使用正确的驱动器。你不能只假设它是D:\
。