//声明:
GetTempFileName(
  lpPathName: PChar;     {路径}
  lpPrefixString: PChar; {前缀}
  uUnique: UINT;         {指定生成文件名的数字, 文件名将根据参数2、参数3来生成}
  lpTempFileName: PChar  {文件名需要的缓冲区}
): UINT;                 {指定生成文件名的数字, 如果参数3是0, 则返回文件名长度}


//举例:
var
  p,f: array[0..MAX_PATH] of Char;
begin
  GetTempPath(MAX_PATH, p);
  GetTempFileName(p, '~My', 16, f); {因为16的十六进制是10, 文件名会是: ~My10.tmp}
  ShowMessage(f);                   {C:\DOCUME~1\wy\LOCALS~1\Temp\~My10.tmp}
end;