C++ cli 如何达到与“使用”完全相同的效果;“运行…”;从StartMenu调用C++/CLI?

C++ cli 如何达到与“使用”完全相同的效果;“运行…”;从StartMenu调用C++/CLI?,c++-cli,command-line-arguments,C++ Cli,Command Line Arguments,在我使用的C++/CLI程序中 System::Diagnostics::Process::Start("D:\\users\\Z\\project1\\Sent_0.93\\plotCon\\tester\\bin\\Debug\\tester.exe","20 D:\users\Z\project1\Bright20"); 调用tester.exe,这是另一个用C#编写的项目(但我认为这在这里并不重要) 然后奇怪的事情发生了。如果我使用项目设置中给出的命令行参数调试C#程序,它将按预期工作

在我使用的C++/CLI程序中

System::Diagnostics::Process::Start("D:\\users\\Z\\project1\\Sent_0.93\\plotCon\\tester\\bin\\Debug\\tester.exe","20 D:\users\Z\project1\Bright20");
调用tester.exe,这是另一个用C#编写的项目(但我认为这在这里并不重要) 然后奇怪的事情发生了。如果我使用项目设置中给出的命令行参数调试C#程序,它将按预期工作。如果我从开始菜单->运行中调用这个C#程序,它也可以正常工作。 但是在上面的给定行中,C#程序启动了,但其行为非常古怪。 所以问题是为什么和如何改变C++代码使它的调用与我从“开始-运行”< /P>调用完全一样的效果。
谢谢

问题在于
参数的字符串--
“20 D:\users\Z\project1\Bright20”
嵌入了转义字符,您需要像正确使用
文件名
参数一样使用双反斜杠:

System::Diagnostics::Process::Start(
“D:\\users\\Z\\project1\\Sent\u 0.93\\plotCon\\tester\\bin\\Debug\\tester.exe”,
“20d:\\users\\Z\\project1\\Bright20”
);  //    ^^     ^^ ^^        ^^

还尝试了更完整的方法,如:是的,完全正确。事实上,我在发帖几分钟后发现了这个愚蠢的错误。。。但我不能回答我自己的问题,因为我的名誉点太少了,尽管如此