UNC 路径上的 VC++ Createprocess

Posted

技术标签:

【中文标题】UNC 路径上的 VC++ Createprocess【英文标题】:VC++ Createprocess on a UNC path 【发布时间】:2011-08-19 21:51:49 【问题描述】:

我正在尝试使用 CreateProcess 运行应用程序。但是,它似乎不适用于 UNC 路径。我尝试添加很多反斜杠,但仍然无法正常工作。

有什么解决办法吗?

我尝试在命令行中运行该命令,但它给出了一个错误,提示 cmd 不支持 UNC 路径。

我不想映射 UNC 路径,因为那样应用程序就不能作为服务运行。

【问题讨论】:

请展示您尝试过的内容,否则无法为您提供帮助。 你试过把\\\\?\\ in CreateProcess`。请提及您尝试过的代码! 抱歉耽搁了,但这是我尝试运行的命令 CreateProcess(""C:\Users\jvenkatraj\Documents\SQLite\Debug\zip.exe" -9 -q -g -u "\\\192.168.123.60\Backup\store\location1\50\f2\25\43\d8\88\b9\68\49\8d\2b\d0\08\9e\7e\df\z. zip" "\\\192.168.123.60\Backup\store\temp\SPD405.tmp\file_contents"") 【参考方案1】:

如果服务在启动时自动运行,请小心在服务中使用 UNC 路径。你的服务可能会在它可用之前尝试使用 UNC 路径,除非所有相关的网络服务都已经有时间启动,你可能需要设置对这些的依赖。

关于您的实际问题,CreateProcess 应该使用documentation 中特别提到的 UNC 路径,因此如果没有您的代码,很难确定,但我猜这是权限问题,并且用户服务正在运行的帐户,可能没有正确的权限。

【讨论】:

以上是关于UNC 路径上的 VC++ Createprocess的主要内容,如果未能解决你的问题,请参考以下文章

我可以创建从网络上的 UNC 路径复制文件的安装程序吗?

如何在没有 pushd 的情况下获取 UNC 路径上的文件大小?

Windows上的python长路径 - os.stat()失败了相对路径?

UNC 路径不适用于 .NET?

无法访问 Powershell 远程会话中的 UNC 路径

从 UNC 路径获取 DFS 服务器名称和本地路径