![](/img/trans.png)
[英]How do I convert a .NET console application to a Winforms or WPF application
[英]How do I return a value from a console application to a service in .NET?
我有一個.NET服務。
我有一個.NET控制台應用程序。
我想要一些調用Process.Start("consoleapp.exe")
並從應用程序返回一些信息,理想情況下只返回一個數字。
我該怎么做呢?
編輯:
我認為它必須是: Process.Start("myapp.exe").ExitCode
- 但是如何在控制台應用程序中設置退出代碼?
Process p = Process.Start("app.exe");
p.WaitForExit();
int number = p.ExitCode;
在app.exe中你設置Enviroment.ExitCode ...
您可以通過更改Main方法來使用退出代碼
public void Main(string[] args){return;}
至
public int Main(string[] args){return 0;}
不是優雅的解決方案,但它的工作原理。
可以通過標准的ExitCode機制返回任意數字。 您只需要Start()
一個進程,然后是WaitForExit()
,然后獲取ExitCode
的值。
您可以使用退出代碼,該代碼可以從Main函數返回或通過Environment.ExitCode設置。
另一種選擇是讓ConsoleApp寫入標准輸出流,並將輸出重定向到主應用程序。
第二個選項的優點是,如果以后發現這一點,您可以返回比單個整數更多的數據。 缺點是設置需要更多工作。
此CodeProject文章介紹了重定向生成進程的標准輸出流。
控制台應用程序可以設置其退出代碼。
控制台應用可以通過以下任一方式設置退出代碼:
System.Environment.Exit(exitcode)
,或 main
函數返回一個int。 ExitCode
屬性( System.Diagnostics.Process
類)允許服務進程檢查控制台應用程序的退出代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.