请输入您要查询的百科知识:

 

词条 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/11/15 11:14:56