2010-03-02 290 views
32

我有一個C#控制檯應用程序(A)。我想從B應用程序A(以同步方式)執行其他控制檯應用程序(B),以便B使用相同的命令窗口。當B存在時,A應該能夠讀取B的退出代碼。從其他控制檯應用程序運行控制檯應用程序

如何做到這一點?我只需要關於如何在同一個cmd窗口中運行這個其他應用程序的小技巧。

回答

9

您可以使用Process.Start()調用啓動另一個進程。 examples here顯示如何讀取其他進程的輸出並等待它完成。

4

您可以使用Process.Start啓動另一個進程 - 無論它是否是控制檯應用程序都無關緊要。如果您的應用程序已在控制檯窗口中運行,則新產生的應用程序也將使用該控制檯窗口。

var proc = Process.Start("...path to second app"); 
proc.WaitForExit(); 
var exitCode = proc.ExitCode; 

一定要準備好對Process類的文檔,因爲有多種可能影響您的輔助應用啓動的方式細微差別的。

0

,你可以將其包含在您的引用,並通過調用任何方法在程序中調用類的run方法

1

我能夠運行開始它關閉「包裝」用新的舊的控制檯應用程序節目「B」爲相同的命令窗口的一部分通過調用以下配置:

ConsoleColor color = Console.ForegroundColor; 
ProcessStartInfo startinfo = new ProcessStartInfo(nameProgramB); 
startinfo.CreateNoWindow = false; 
startinfo.UseShellExecute = false; 
Process p = Process.Start(startinfo); 
p.WaitForExit(); 
Console.ForegroundColor = color; 

這種方式,像它們是一個單一節目這兩個程序seamlesly運行。 'nameProgramB'是程序'B'的名字。希望這可以幫助。

相關問題