我將從C++應用程序開始解釋我的確切需求。我有一個C++應用程序,它使用任何參數(C++應用程序在項目中使用getchar())從控制檯(鍵盤)接收輸入(一個名爲「run」的小命令)。以及問題,我能夠從C#使用System.Diagnostics.Process運行的exe文件,但我想輸入命令「運行」在C#程序執行C++應用程序。有可能這樣做嗎?如何從C#運行C++ .exe文件?
2
A
回答
3
是的。您需要重定向的衍生進程的輸入流,這樣就可以直接寫它:
var proc = new Process();
proc.StartInfo.FileName = "program.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.Start();
var sw = proc.StandardInput;
現在,這會寫信給你的程序的標準輸入,就像你剛纔使用鍵盤輸入文字:
sw.WriteLine("run something");
最後,當你寫完,不要忘了清理:
sw.Close();
proc.WaitForExit();
proc.Close();
0
// Use ProcessStartInfo class
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = "run.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = "-f j ";
try
{
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
}
}
catch
{
// Log error.
}
相關問題
- 1. 如何通過C++運行.exe文件?
- 2. 從C++運行.exe
- 3. 從c運行exe文件的問題#
- 4. 如何實現「好像」多EXE文件從C#一個exe文件運行
- 5. 如何從C#調用C .exe文件?
- 6. 如何在USB自動運行中運行C .exe文件?
- 7. 如何從C#代碼作爲管理員運行exe文件?
- 8. 從servlet運行C++ exe
- 9. 從另一個EXE C#運行exe文件,並關閉它
- 10. 運行EXE文件形式CMD與C#
- 11. 如何從C++程序執行c#exe
- 12. 如何從PowerShell運行* .exe文件
- 13. 如何運行.exe文件?
- 14. 從運行exe文件
- 15. 從FileStream運行exe文件
- 16. 如何運行Turbo C++輸出的.exe文件?
- 17. C#Winforms - 如何在其他系統中運行exe文件
- 18. 如何在c#.net中檢查已經運行的exe文件?
- 19. 如何下載並運行.exe文件c#
- 20. 如何當它在C#中運行讀一個exe文件
- 21. 如何在C#中運行時生成.exe文件
- 22. 無法運行從c#創建的.exe文件
- 23. 從C#代碼運行一個exe文件
- 24. 從C#運行.bat文件#
- 25. 從C#運行Jar文件#
- 26. 無法從C#進程類運行EXE
- 27. 使用UWP從C#運行EXE
- 28. 從MSI安裝腳本運行EXE C#
- 29. PATH後運行.exe C++
- 30. 從其文件夾運行exe文件
什麼用'System.Diagnostics.Process'的問題是什麼?這是通常的方式。 – Vlad
那麼,你可以將C#程序的控制檯輸出重定向到接受'run'的程序。但爲什麼這麼複雜呢?你想實現什麼? – Vlad