执行C++;使用Process.start()从C#表单执行 我试图创建一个C形表单应用程序,它允许我从一个中央程序中使用我以前所有的C++程序。
我可以用执行C++;使用Process.start()从C#表单执行 我试图创建一个C形表单应用程序,它允许我从一个中央程序中使用我以前所有的C++程序。,c#,process.start,C#,Process.start,我可以用Process.Start()打开EXE,但是它不能正确编译代码 示例代码: Process.Start("C:\\\Documents and Settings\\\dan\\\Desktop\\\test.exe"); 这将带来控制台,并像运行它一样,但它不像在我通常编译C++编辑器时那样运行。是否有一个 StistFiels变量i需要设置为表示它是C++程序或沿着该行的一些东西?< /P> < >是否有任何方法来执行一个C++程序使用进程?启动< /代码>,允许我通过命令行通过变
Process.Start()
打开EXE,但是它不能正确编译代码
示例代码:
Process.Start("C:\\\Documents and Settings\\\dan\\\Desktop\\\test.exe");
这将带来控制台,并像运行它一样,但它不像在我通常编译C++编辑器时那样运行。是否有一个<代码> StistFiels变量i需要设置为表示它是C++程序或沿着该行的一些东西?< /P> < >是否有任何方法来执行一个C++程序使用<代码>进程?启动< /代码>,允许我通过命令行通过变量行通过变量行通过<代码> ARC> <代码>和<代码> ARGV < /Cord>?
谢谢到目前为止,只有足够的信息来回答您的最后一个问题。是的,您可以将命令行参数包括为。查看标题为“==运行EXE(C#)的程序==”的部分,添加命令行参数:
Process process = new Process();
process.StartInfo.FileName = "C:\\Documents and Settings\\dan\\Desktop\\test.exe";
process.StartInfo.Arguments = ""; // Put your arguments here
process.Start();
当你使用这个过程时,只有两个不同之处。开始的方式和直接执行程序的方式不同。两者都可以通过使用来解决
至于添加命令行参数:您可以通过。然而,由于它是C++应用程序,不需要一个。但是,程序编译成exe之后,它的编写语言就不重要了。
至于程序参数,您需要查看ProcessStartInfo类,以及使用它的Process.Start()的重写:我在python中遇到了类似的问题,您是否期望详细的输出
在我的例子中,输出缓冲区已满,因此执行暂停 你说不一样是什么意思?丹:为什么你的C++测试版知道或者关心它是用C++写的,而不是其他语言?你所看到的和你所期望的之间的确切区别是什么?它没有完全运行,它只是打开控制台,打印出前几行提示行并停止,没有一直运行以创建输出。我尝试了几个不同的C++ exes,都给出了相同的结果。这种行为是因为你没有传递任何参数吗?我让它工作,我的问题是工作目录和shell执行。谢谢,在改变工作目录并将shell执行设置为true之后,它工作正常。再次感谢您的快速回复。