Da liefert ExpandEnvStr einen falschen String zurück (hat wahrscheinlich hinten nach einen binary 0 dran) ... warum ? keine Ahnung, im Source siehts gut aus
probier mal (nur testweise, keine Endlösung .....)
Delphi-Quellcode:
function ExpandEnvStr(const szInput: string): string;
const
MAXSIZE = 32768;
begin
SetLength(Result,MAXSIZE);
SetLength(Result,ExpandEnvironmentStrings(pchar(szInput),
@Result[1],length(Result)));
setlength(Result, strlen(PChar(Result)));
end;