我对图像执行脱机操作将图像作为输入参数并在VTK中处理C++ EXE我无法通过C#将参数传递给C++ EXE。程序和回收输出。 请用一些例子来解释我如何使用C#.net从命令行调用C++ EXE .net
回答
如果你只是说你有一个编译好的C++程序(我们称之为“foo.exe”,路径存储在字符串“exe_folder”中),你想用命令行参数(存储在字符串“exe_params”)从C#,那么下面应该工作:
string exe_params = "target_image.jpeg HOUGH_TRANSFORM"; // Or whatever params are appropriate.
string exe_full_path = Path.Combine(exe_folder, "foo.exe");
Process proc = System.Diagnostics.Process.Start(exe_full_path, exe_params);
https://msdn.microsoft.com/en-us/library/h6ak8zt5(v=vs.110).aspx
谢谢Devid,我已经试过你的代码片段,它成功地工作,但它只是调用exe而不理解我的exe_params。 –
我的exe文件是一个exe_folder文件。但无法调用该图像文件。 –
意味着我的命令不理解我的第二个参数 –
让我们说,你的可执行文件名为test.exe的,它是在测试目录。对我来说,下面将工作:
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C cd C:\\..test\\ && test.exe target_image.jpg yourtransformation";
process.StartInfo = startInfo;
process.Start();
如果您还有其他问题,可以尝试设置的ProcessStartInfo的working directory。
- 1. 从C#.NET调用AutoCAD命令
- 2. 使用C#.NET执行外部EXE
- 3. 使用批处理文件从命令行调用C#exe
- 4. 如何使用c#.net作为管理员在命令提示符下运行命令.net
- 5. 如何调用本机exe函数(Visual Basic 6.0)从.Net(C#)?
- 6. C#调用使用命令行
- 7. 从.Net中的命令行使用ImageMagick?
- 8. 如何从C#.NET调用NetUserModalsGet()?
- 9. 如何从.NET调用C库
- 10. 从.NET调用C++方法
- 11. 从R调用.NET/C#
- 12. 如何调用.NET命令提示符
- 13. 如何从C#调用C .exe文件?
- 14. 从C#.net应用程序打开Apache FOP命令行
- 15. 从C++调用(C#).NET Core方法
- 16. 调用C#(.NET)API C
- 17. C#.NET调用C++ DLL
- 18. 从AutoCAD .NET调用LISP命令Editor.CommandAsync
- 19. 从.Net调用Image Magick命令
- 20. 如何使用C#.NET
- 21. 如何使用C#.NET
- 22. 如何使用C#.NET
- 23. 如何使用C#.NET
- 24. 如何使用C#/。NET
- 25. 如何使用c#.net
- 26. 如何使用c#.net
- 27. 如何使用C#.NET
- 28. 如何使用ASP .NET C#
- 29. 使用.NET C#
- 30. 使用C#.NET
它应该和任何可执行文件一样。你为什么要专门询问C++可执行文件?一旦你有一个可执行文件,它与哪一种语言无关,它们的行为都是一样的 – KABoissonneault
首先让我困惑的是DOS/Windows程序只有*一个*字符串作为参数。 OS/C++运行时解析字符串并将其作为'argv'字符串数组呈现给'main'。参数分裂仅仅是空白的;双引号可防止分裂。所以如果你有多个参数,你可以用一个空格连接它们,可能用双引号括住每个参数。 –
在这种情况下定义“输出”。你的输出是什么?它在哪里/如何输出?你怎么试图找回它? – EJoshuaS