词条 | GetShortPathName |
释义 | 函数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代码对照表。 C++版DWORD WINAPI GetShortPathName( LPCTSTR lpszLongPath, //指定的要转换的路径 LPTSTR lpszShortPath, //接收短路径形式的缓冲区 DWORD cchBuffer//缓冲区的长度 ); 函数说明: 获取指定路径的短路径形式 返回值: 如果执行成功,则返回lpszShortPath接收的字符串的长度,不包括空字符;如果lpszShortPath长度太小,则返回lpszShortPath接收短路径字符串需要的长度,包括空字符;如果其他原因导致失败,则返回0,通过GetLastError()获取出错信息 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。