是这个吧。
Function GetShortFilename(LongFilename: String): String;
var
ShortFile: pChar;
begin
ShortFile := StrAlloc(MAX_PATH + 1);
Try
if GetShortPathName(pChar(LongFilename), ShortFile, MAX_PATH + 1) = 0 then //转换错误
Raise EConvertError.Create
('GetShortFilename: ' + SysErrorMessage(GetLastError));
Result := String(ShortFile);
Finally
StrDispose(ShortFile);
end;
end;