GetShortPathName函数获取指定输入路径的短路径形式。
DWORD GetShortPathName(
LPCTSTR 【lpszLongPath】, | //指向一个以null结尾的路径字符串 |
LPTSTR 【lpszShortPath】, | //指向一个缓冲区以接收空终止的短格式的路径 |
DWORD 【cchBuffer】 | //指定由【lpszShortPath】指向的缓冲区的大小 |
); |
参数
【lpszLongPath】
指向以null结尾的路径字符串。该函数获取此路径的简短形式。
【lpszShortPath】
指向缓冲区以接收由【lpszLongPath】指定的路径的空终止短格式。
【cchBuffer】
指定【lpszShortPath】指向的缓冲区大小(以字符为单位)。
返回值
如果函数成功,则返回值是复制到【lpszShortPath】的字符串的长度(以字符为单位),不包括终止空字符。
如果由于【lpszShortPath】缓冲区太小而无法包含短路径字符串的功能失败,则返回值是短路径字符串的大小(以字符为单位)。您需要使用至少与短路径字符串一样大的短路径缓冲区来调用该函数。
如果由于任何其他原因函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
当应用程序调用此函数并指定不支持8.3别名的卷上的路径时,如果路径长度超过67个字节,则该函数将失败,并显示ERROR_INVALID_PARAMETER。
由【lpszLongPath】指定的路径不必是完全限定路径或长路径。短格式可能比指定的路径长。
如果指定的路径已经处于缩写形式,则不需要进行任何转换,只需将指定的路径复制到短路径的缓冲区。
您可以将【lpszShortPath】设置为与【lpszLongPath】相同的值;换句话说,您可以将短路径的缓冲区设置为输入路径字符串的地址。
您可以通过调用FindFirstFile功能从短名称获取文件的长名称。
也可以看看