如何在不弹出cmd.exe窗口的情况下运行命令行程序?

时间:2010-12-04 19:08:54

标签: visual-studio visual-c++ clr

我主要使用bash和perl并使用Linux作为我的主要操作系统,但现在我在Windows上并且第一次使用C ++。像许多Linux应用程序一样,我决定分别保留cli和gui元素。

我现在有我的CLI程序工作,我需要开始编写一个简单的前端。前端所做的就是使用一组选项启动cli应用程序,它应该在文本框中显示程序的输出,并在程序输出越来越多的文本时继续追加它。 cli程序完全自动化并独立运行,程序启动后无需用户交互。

有人可以在没有弹出cmd.exe窗口的情况下显示一些启动cli应用程序的示例代码,或者将我链接到类似于此的一些简单的opensoure程序,这样我就可以看到他们是如何做到的? CLI程序是一个长期运行的过程。我需要做些什么来确保它不会冻结gui?

我不确定是否应该使用CLR或Native Win32作为前端。我见过用.NET编写的程序,菜单看起来很难看。

2 个答案:

答案 0 :(得分:0)

您可以使用CHP在隐形窗口中运行应用程序(CLI或窗口)。它的用法很简单:

CHP yourprogram.exe

如果你想知道它是如何完成的,你可以调查它的来源。

答案 1 :(得分:0)

如果您选择在UI控制器中使用.NET库,则可以使用System.Diagnostics.Process创建该过程,并且可以设置ProcessStartInfo选项以重定向StdOut,以便您可以从中读取。 MSDN上有一个例子。