如何将当前目录更改为长路径

时间:2019-05-30 12:40:52

标签: winapi

尽管处理\\?\前缀是documented,但是SetCurrentDirectory()显然不能做到这一点(see here)。即使我包含了ERROR_FILENAME_EXCED_RANGE前缀,但传递的长度超过260个字符的路径始终会返回\\?\。在Windows 7上进行了测试。

这使我想知道如何将当前目录更改为长度超过260个字符的路径。我是否必须将那条漫长的道路分解成最大的碎片。每个字符260个,并在每个字符上调用SetCurrentDirectory(),或者推荐的处理此问题的方法是什么?

NB:我知道在Windows 10上,可以通过设置在清单中添加longPathAware东西并设置相应的注册表标志来解决该问题。但是,我正在寻找一种同样适用于Windows 7和8的解决方案。

0 个答案:

没有答案