用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;