我们用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('路径' ) 来调用