如何将路径作为参数传递到vc ++中的第二个应用程序?

时间:2015-09-23 22:39:24

标签: c++ windows visual-c++

你好!

有人可以回答我的问题吗?

我有一个应用程序,它是在Visual C ++中开发的。 此应用程序调用第二个可执行文 它将文件路径作为参数传递。 怎么做正确? 我的意思是双引号,空格和其他特殊字符或它们的组合。 例如,文件My Doc.doc应为“My Doc.doc”(带双引号)。 PathQuoteSpaces对我来说不是解决方案。 我需要长路径(长于MAX_PATH)并且总是格式良好的参数。 我打电话给MS的应用程序,他们的标准很重要。

P上。 S. 我知道,有类似问题的答案,但它们并没有解决我的问题。

非常感谢

继续:

感谢您的回答。

我已经发布了代码。 它看起来有点像伪代码, 因为对象和功能。 我需要一个结构良好的参数(脚本)。 Windows上的拖放产生了这样的文字。

ShellExecute(
0,
L"open",
(GetPathQuoted(Monad::File::GetFolder(FOLDERID_System) + L"\\WindowsPowerShell\\v1.0\\PowerShell.exe")).c_str(),
(L"-ExecutionPolicy Bypass -File " + GetPathQuoted(Script)).c_str(),
nullptr,
0);

我很抱歉发布了一个重复的问题。 我不知道,“不能在Windows文件路径中。

我非常感谢有用的答案

1 个答案:

答案 0 :(得分:1)

如果使用UNICODE版本的PathQuoteSpaces,MAX_PATH的值为32,767,应该足够了。