首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

用GetTempPath获取路径,该怎么处理

2013-01-25 
用GetTempPath获取路径用GetTempPath获取路径获取出来是这样的C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\我想得

用GetTempPath获取路径
用GetTempPath获取路径
获取出来是这样的C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\
我想得到这样的
C:\Documents and Settings\Administrator\Local Settings\Temp
如何转换呢
[解决办法]
GetFullPathName
[解决办法]
好像没有短文件名转长文件名的函数吧。。
[解决办法]
需要引用ShlObj,代码如下


procedure TForm1.Button1Click(Sender: TObject);
var
  sFolder: IShellFolder;
  pIDList: PITEMIDLIST;
  fullPath: WideString;
  Len: integer;
  buffer: array [0 .. MAX_PATH] of Char;
  pchEaten, Attributes: ULONG;
begin
  Len := GetTempPathW(0, nil);
  SetLength(fullPath, Len);
  GetTempPathW(Len, @fullPath[1]);
  SHGetDesktopFolder(sFolder);
  sFolder.ParseDisplayName(0, nil, @fullPath[1], pchEaten, pIDList, Attributes);
  SHGetPathFromIDList(pIDList, buffer);
  ShowMessage(buffer);
end;

热点排行