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