GetFullPathName和GetLongPathName

来源:互联网 发布:php修改ad用户源代码 编辑:程序博客网 时间:2024/06/04 23:29

     这两个都是kernal32.dll提供的API。

     参考MSDN说明:

     GetFullPathName: 用于获取某文件的全路径和文件名称;不推荐在多线程应用中使用;该函数不检查返回的路径是否合法或存在;也用于计算路径中的部分值(比如取父目录)。

     GetLongPathName: 转换指定路径为长路径格式(相对短路径ShortPath : dos格式而言);在多数系统中,短路径都包含有符号'~',但是并不是所有的系统都遵循这个约定,也不是意味这你可以跳过调用GetLongPathName;若短路径是合法的,而返回的长路径是非法,函数也会返回成功。

 

      以上说明,基本已经清楚地说明了用法。但是实际编程当中,还是有不少人,对短路径的转换,用GetFullPathName来处理——虽然也能成功,但是也有例外(比如程序处于program files下,点击关联文件,启动该程序,并不能得到预期的文件长路径)。应该使用GetLongPathName,这才是专门用于转换长路径的函数。

原创粉丝点击