2012-04-03 120 views
0

我有一個以.net編寫的.exe程序(控制檯應用程序)。以編程方式運行.net控制檯應用程序

  1. 我需要執行它
  2. 提供輸入
  3. 獲取的輸出作爲一個字符串或優選作爲流。

當前我正在使用System.Diagnostics命名空間和Process類。 但爲此使用Diagnostic命名空間劑量似乎沒問題。

有什麼方法可以讓我更有效地做同樣的事情? 像使用反射來找到Main()方法,然後調用它。

回答

3

Process類完全是你想做的事情的正確工具。不要介意Diagnostic名稱空間的名稱 - 只需使用Process類。

+0

thankx這個片段。我還需要在單獨的應用程序域中運行此過程。可以使用這個命名空間來完成嗎? – 2012-04-03 10:23:06

+0

第一:忘記命名空間!然後,請閱讀以瞭解命名空間是什麼以及它爲什麼對你根本無關緊要:http://msdn.microsoft.com/en-us/library/ms973231.aspx#assenamesp_topic5 – 2012-04-03 10:51:07

+0

好吧,第二個? – 2012-04-03 10:53:50

0

完全沒問題。 System.Diagnostics只是一個命名空間。

如果有更多的信息需要,可以爲navigate to this project動機和看看如何處理語法過程或從VM found in here

   var startInfo = new ProcessStartInfo(FilePath) 
       { 
        WorkingDirectory = RootFolderPath, 
        Arguments = StartingArguments, 
        RedirectStandardOutput = true, 
        UseShellExecute = false, 
        CreateNoWindow = true 
       }; 
       ConsoleProcess = new Process {StartInfo = startInfo}; 

       ConsoleProcess.Start(); 
相關問題