delphi中将dos8位缩写路径转换为完整路径
- 时间:2015年04月02日 15:33:42 来源:魔法猪系统重装大师官网 人气:9049
我们用Delphi 编程的时候需要用到将获到的的缩位的 dos 8.3 格试的路径
如 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
这样的路径转换为完整的路径 C:\Documents and Settings\Administrator\Local Settings\Temp
在VC中可以用到 API GetLongPathName 可惜在Delphi 下面没有封装这函数,我们自已来定义
function GetLongPathName(Src, Dest: PChar; cch:DWord): DWord; stdcall; external 'Kernel32.dll' name 'GetLongPathNameA';
function ShortPathToLongPath(const AShortName: string): string;
var
sz: array[0..MAX_PATH - 1] of Char;
begin
FillChar(sz, SizeOf(sz), 0);
GetLongPathName(PChar(AShortName), sz, MAX_PATH);
Result := string(sz);
end;
可以用 ShortPathToLongPath('路径' ) 来调用





