你好!
有人可以回答我的问题吗?
我有一个应用程序,它是在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文件路径中。
我非常感谢有用的答案
答案 0 :(得分:1)
如果使用UNICODE版本的PathQuoteSpaces,MAX_PATH的值为32,767,应该足够了。