从很长的路启动Win32应用程序

问题描述

为我的应用程序启用长路径支持,我已完成以下操作:

  1. 使用longPathAwaremt.exe清单嵌入到我的应用程序中
  2. 确保将LongPathsEnabled注册表项设置为1

我的应用程序实际上开始能够处理路径超过260限制的文件夹中的文件,但是存在问题。

在长路径文件夹是我当前的工作目录的情况下,我无法启动我的应用程序。我尝试使用cmdMSYS2CygWinexplorer

  1. cmd出现以下错误

    The current directory is invalid.
    
  2. MSYS2CygWin都出现以下错误

     Error: Current working directory has a path longer than allowed for a Win32 working directory.
     Can't start native Windows application from here.
     bash: /c/myapp: File name too long
    
  3. explorer执行以下操作:

    • 应用程序图标变为空白,类似于未知文件类型或无扩展名的文件
    • 双击该应用程序无济于事

在我的应用程序中,最常见的用例是在当前工作目录中包含应用程序要对其进行操作的文件。因此,鉴于当前的工作目录不能超过该限制,这意味着所有这些都是无用的。

所以,我的问题是:有没有办法克服这个问题/局限性?

我觉得如果没有这种情况,整个长路径支持就毫无意义。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)