2013-02-18 60 views
1

我有一個.exe文件,它只是某種加密的命令行工具。我有一個.NET項目,我想包括這與我的程序,並能夠使命令行調用此exe文件並獲得其響應...如何在我的項目中包含一個可執行文件並在.NET中調用它

我該如何包含此.exe?

+0

您可以創建一個調用可執行文件的類庫。 – 2013-02-18 02:01:41

+0

@GianAcuna對不起,我對.NET相當陌生,如何創建一個類庫? – 2013-02-18 02:02:27

+0

是命令行應用程序控制臺類型還是winform? – 2013-02-18 02:04:35

回答

3

這可以很容易地使用ProcessStartInfo.RedirectStandardOutput屬性來實現。完整的示例包含在鏈接的MSDN文檔中;唯一需要注意的是,您可能必須重定向標準錯誤流以查看應用程序的所有輸出。

Process process = new Process(); 
process.StartInfo.FileName = "your_application.exe"; 
process.StartInfo.Arguments = "argument1 argument2 argument2 ..."; 
process.StartInfo.UseShellExecute = false; 
process.StartInfo.RedirectStandardOutput = true; 
process.Start();  

Console.WriteLine(process.StandardOutput.ReadToEnd()); 

process.WaitForExit(); 
+0

謝謝,但我怎麼能打包這個.exe與我的程序,所以當有人安裝它,它的存儲可能與我的.exe,所以他們不必單獨安裝此.exe – 2013-02-18 02:22:31

+0

你可以使用.net安裝和部署,它要求所有需要的文件,或者有許多免費的Installer Creator使用它們中的任何一個! – 2013-02-18 02:24:52

+0

另一種選擇是將exe文件插入應用程序的資源中,如果沒有找到文件,則解壓exe文件! – 2013-02-18 02:25:35

1

您可以創建一個調用可執行文件功能的類庫(DLL)。基本上,您可以在其他項目中引用創建的DLL。它充當您的應用程序和其他可執行文件之間的中間人。

here

包含可執行項目的類庫項目,所以你可以調用加密功能。

+0

我在我的類庫項目中包含.exe文件? DLL將如何將.exe放入我的項目中。我想確保人們不必找到並下載.exe ..我想將它與我的程序打包在一起 – 2013-02-18 02:23:20

+0

.exe必須位於與DLL相同的目錄中。你不需要你的應用程序的安裝目錄中的.exe文件?嗯,爲此我想你必須在應用程序中包含.exe的源代碼。你有控制.exe的項目嗎? – 2013-02-18 02:28:54

+0

不,我沒有控制權。我不介意在安裝目錄中有.exe。我想我可以在以後創建安裝程序時將其打包。 – 2013-02-18 16:01:39

相關問題