10 长文件名函数
下列函数从短文件名创建长文件名,将短文件名转换到长文件名,并且将长文件名用双引号括起使得处理长文件名的操作系统可以识别它们。
LongPathFromShortPath
从一个短文件名创建一个长文件名。
LongPathToQuote
插入或删除环绕一个长文件名的双引号。
LongPathToShortPath
从一个长文件名创建一个短文件名。
10.1 LongPathFromShortPath
语法:LongPathFromShortPath (svPath);
说明:使用LongPathFromShortPath函数转换一个短文件名到它的等价长文件名。
参数:
svPath
指定一个短文件名并且返回它的相关的长文件名。
返回值:
0:表明函数成功。
< 0:表明函数没有成功。
注解:
对于长文件名的解释,请看下面:
Windows 95和其后版本和Windows NT 4.0支持长文件名。长文件名允许用户给目录和文件更多有意义的名称。“长文件名”项指向长文件名和长路径。
InstallShield提供长文件名函数来给不识别长文件名的16位应用程序和32位应用程序的安装提供便利。你有责任确定你的应用程序的要求。 InstallShield提供工具帮助你安装任何类型的应用程序。
10.2 LongPathToQuote
语法:LongPathToQuote (svPath, nParameter);
说明:LongPathToQuote函数放置双引号环绕一个长文件名或从一个长文件名删除双引号。
在传递长文件名给命令行之前添加双引号到包含空格的长文件名。在用函数LongPathToShortPath将长文件名转换为短文件名前,你必须从长文件名中删除双引号。如果你不这么做,被括起的长文件名保持无效。
该函数仅当文件名中有一个空字符时将添加引号。例如,引号将不会被加到C:\\ThisismyApp,因为它是一个没有空格的长文件名。
参数:
svPath
指定一个长文件名并返回包含或不包含引号的该名称,依赖于传递给参数nParameter的值。
nParameter
指定引号是否要被添加到长路径或从长路径删除。在该参数位置传递下列预定义常量之一:
TRUE:添加引号到长路径。
FALSE:从长路径删除引号。
返回值:
0:表明函数成功。
< 0:表明函数没有成功。
注解:
请参阅LongPathFromShortPath的注解。
10.3 LongPathToShortPath
语法:LongPathToShortPath (svPath);
说明:LongPathToShortPath函数将一个长文件名转换到它等价的短文件名。短文件名和16位程序兼容,如Notepad.exe 或Mviewer2.exe。16位程序不接受长文件名。参数svPath可以是一个绝对路径或一个相对路径,并且它可以包括一个文件名;但它指定的文件夹或文件必须存在于目标系统。
参数:
svPath
指定一个长文件名并返回它相联系的短文件名。
LongPathToShortPath从长文件名中删除尾随反斜杠。
返回值:
0:表明函数成功。
< 0:表明函数没有成功。
注解:
·请参阅LongPathFromShortPath。
·因为仅当指定的文件夹或文件可以在目标系统上找到时LongPathToShortPath才能成功,你通常必须在指定一个相对路径前设置当前文件夹。例如,如果svPath包含相对路径"InstallShield\InstallShield5 Professional Edition",它存在于文件夹"C:\Program Files",安装将不能找到它除非当前文件夹是"C:\Program Files"。在调用LongPathToShortPath前如有必要使用ChangeDirectory函数来修改当前文件夹,因而目标文件夹或路径能被找到。
·使用ChangeDirectory来指定一个新目录。