6
有没有一种简单的方法来将系统路径变量的路径转换为绝对路径?如何通过系统路径变量从路径获取绝对路径?
所以%ProgramFiles%\Internet Explorer\hmmapi.dll
成为C:\Program Files\Internet Explorer\hmmapi.dll
我想知道是否有一个API调用,可以做到这一点,还是我这个做硬盘的方式和检测%..%的序列,并与相应的替换它们环境变量?
有没有一种简单的方法来将系统路径变量的路径转换为绝对路径?如何通过系统路径变量从路径获取绝对路径?
所以%ProgramFiles%\Internet Explorer\hmmapi.dll
成为C:\Program Files\Internet Explorer\hmmapi.dll
我想知道是否有一个API调用,可以做到这一点,还是我这个做硬盘的方式和检测%..%的序列,并与相应的替换它们环境变量?
您可以使用WinAPI的功能ExpandEnvironmentStrings
:
function ExpandEnvStr(const szInput: string): string;
const
MAXSIZE = 32768;
begin
SetLength(Result,MAXSIZE);
SetLength(Result,ExpandEnvironmentStrings(pchar(szInput),
@Result[1],length(Result)) - 1);
end;
是的,这是我一直在寻找的功能。在Google上最终使用正确的关键字之后,我也发现了它自己。 – 2010-05-14 09:58:35
ExpandEnvironmentStrings返回包含空字符的长度,因此必须从结果中减去1以返回不带空终止符的字符串。 – 2010-05-14 10:01:48
在尾部#0尾部添加-1 – Harriv 2017-05-03 10:17:17