GetShortPathName

王朝百科·作者佚名  2010-03-06  
宽屏版  字体: |||超大  

GetShortPathName

该API不适合对畸形文件夹进行操作。

VB声明

Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathName" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long

说明

获取指定文件的短路径名

返回值

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代码对照表。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有