function GetLongPathName(ShortPath, LongPath: PAnsiCHAR; size: DWORD): DWORD; stdcall; external 'Kernel32.dll' name 'GetLongPathNameA';
function GetTempFolder: String;
var
buffer: array [0..MAX_PATH-1] of AnsiChar;
begin
GetLongPathName(PAnsiCHAR(GetEnvironmentVariable('temp')), buffer, sizeof(buffer));
Result:= buffer;
end;