Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
执行C++;使用Process.start()从C#表单执行 我试图创建一个C形表单应用程序,它允许我从一个中央程序中使用我以前所有的C++程序。_C#_Process.start - Fatal编程技术网

执行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();

当你使用这个过程时,只有两个不同之处。开始的方式和直接执行程序的方式不同。两者都可以通过使用来解决

  • 结果将不一样。将其设置为包含可执行文件的路径,以获得相同的行为
  • 设置为true,则使用windows shell执行该进程

  • 至于添加命令行参数:您可以通过。然而,由于它是C++应用程序,不需要一个。但是,

    程序编译成exe之后,它的编写语言就不重要了。
    至于程序参数,您需要查看ProcessStartInfo类,以及使用它的Process.Start()的重写:

    我在python中遇到了类似的问题,您是否期望详细的输出


    在我的例子中,输出缓冲区已满,因此执行暂停

    你说不一样是什么意思?丹:为什么你的C++测试版知道或者关心它是用C++写的,而不是其他语言?你所看到的和你所期望的之间的确切区别是什么?它没有完全运行,它只是打开控制台,打印出前几行提示行并停止,没有一直运行以创建输出。我尝试了几个不同的C++ exes,都给出了相同的结果。这种行为是因为你没有传递任何参数吗?我让它工作,我的问题是工作目录和shell执行。谢谢,在改变工作目录并将shell执行设置为true之后,它工作正常。再次感谢您的快速回复。