在另一个程序中运行程序? 我已经用C++编写了一个程序。它只是使用控制台使其尽可能便于携带。不幸的是,许多Windows用户似乎不了解如何使用该程序(Linux用户对它很在行:)。所以我想为这个程序写一个GUI。因为它只需要在Windows上运行,所以我想用C#编写它

在另一个程序中运行程序? 我已经用C++编写了一个程序。它只是使用控制台使其尽可能便于携带。不幸的是,许多Windows用户似乎不了解如何使用该程序(Linux用户对它很在行:)。所以我想为这个程序写一个GUI。因为它只需要在Windows上运行,所以我想用C#编写它,c#,hidden,C#,Hidden,但是我想在原始程序之外维护GUI。所以基本上,我需要一种方法将编译的*.exe包含到另一个程序中。有没有办法捕获另一个程序的控制台输出并向其发送输入?另外,可以隐藏原始程序的控制台吗 类似问题 P>如果你可以把你的程序提取到C++的库中,那么C++的控制台程序就可以使用它。通过这种方式将其与C集成,您只需在该DLL中定义pInvoke入口点,然后您就可以直接从GUI应用程序调用代码。试试看,您可以在C应用程序中包含一个命令行开关(例如/g),该开关将在GUI模式下而不是控制台下运行您的应用程

但是我想在原始程序之外维护GUI。所以基本上,我需要一种方法将编译的*.exe包含到另一个程序中。有没有办法捕获另一个程序的控制台输出并向其发送输入?另外,可以隐藏原始程序的控制台吗

类似问题


<> P>如果你可以把你的程序提取到C++的库中,那么C++的控制台程序就可以使用它。通过这种方式将其与C集成,您只需在该DLL中定义pInvoke入口点,然后您就可以直接从GUI应用程序调用代码。

试试看,您可以在C应用程序中包含一个命令行开关(例如/g),该开关将在GUI模式下而不是控制台下运行您的应用程序。您只需对主函数中的参数进行求值,然后启动一个Win表单,该表单将接受输入并运行任何算法,或者只使用控制台模式。默认情况下,您的应用程序将运行console,如果您选择,则反之亦然。

虽然您想要的内容可能包含在副本中,但您提出了一个需要回答的特定问题:

我需要一种方法将编译的*.exe包含到另一个程序中


你真的不能这么做。充其量,您可以按照@justinethier的建议创建一个库,GUI和命令行工具都依赖于此库

有很多方法可以做到这一点。该类具有允许您访问应用程序的输入和输出的方法,您可以从中实现自动化


基本上,您可以使用StandardInput和StandardOutput方法获取输出,然后与输入交互以控制应用程序。除了您的问题之外,“类似问题”中的帖子显示了第一部分,即标准输出部分。

@Mitchel Sellers:谢谢您的编辑。我在这件事上犹豫着是相似还是重复。