GetShortPathName
函数
函数GetShortPathName获取指定路径的短路径形式。该API不适合对畸形文件夹进行操作。
VB版
说明
获取指定文件的短路径名
返回值
Long,装载到lpszShortPath缓冲区的字符数量。如lpszShortPath的长度不足,不能容下文件名,就返回需要的缓冲区长度
参数表
参数 类型及说明
lpszLongPath String,指定欲获取短路径名的那个文件的名字。可以是个完整路径,或者由当前目录决定
lpszShortPath String,指定一个缓冲区,用于装载文件的短路径和文件名
cchBuffer Long,lpszShortPath缓冲区长度
Delphi版
Function GetShortPathName(lpszLongPath:PChar,lpszShortPath:PChar,cchBuffer:Cardinal):Cardinal
lpszLongPath 长文件名,原来的字符串
lpszShortPath 短文件名,我们想要的结果
cchBuffer 缓冲区长度
举个例子:
S := ParamStr(1);
GetShortPathName(PChar(S),PChar(S),Length(S));
将程序启动时得到的S值(一个长文件名),变为一个短文件名,并且还是将S的值改变为该短文件名。
但是,在实际使用中,字符串的最后几位会返回一些奇怪的字符,例如 #0'EX' 等等,我用的方法是:
for I := Length(S) downto Length(S)-2 do
Runaim:= #32;
#32在Delphi中为空格。具体可以参见常用字符与ASCII代码对照表。
C++版
DWORD WINAPI GetShortPathName(
LPCTSTR lpszLongPath, //指定的要转换的路径
LPTSTR lpszShortPath, //接收短路径形式的缓冲区
DWORD cchBuffer//缓冲区的长度
);
函数说明:
获取指定路径的短路径形式
返回值:
如果执行成功,则返回lpszShortPath接收的字符串的长度,不包括空字符;如果lpszShortPath长度太小,则返回lpszShortPath接收短路径字符串需要的长度,包括空字符;如果其他原因导致失败,则返回0,通过GetLastError()获取出错信息。
PB版
参考资料
最新修订时间:2024-01-03 17:32
目录
概述
VB版
参考资料