2012-10-24 62 views
0

我試圖在Visual Studio中的C#應用​​程序,將留在後臺,然後其他程序可以只用一個參數啓動應用程序,它會彈出這樣的說法的通知(另一種形式)。C#應用程序,將留在後臺,並通過CMD參數接收命令?

我需要的應用程序將包括只有一個過程的,我不需要我的應用程序的多個進程/實例。我只是希望它留在後臺,當有人開始用一個參數的應用程序,例如MyApp.exe「這是通知」,它只會彈出另一個形式,將有cmd參數在裏面,它不會啓動應用程序作爲另一個過程。

我希望你明白我的意思,如果你不知道我能更多解釋。

+2

有你,儘管關於你的應用程序中使用WCF偵聽來自其他應用程序的消息? – paul

回答

2

你是想更重要的是爲Windows Service作業。 Windows服務是一個程序,沒有GUI界面,位於後臺並執行某些操作。該服務通常在計算機啓動並保持運行直到計算機關閉時啓動。

其他程序和你的服務之間的通信可以使用Windows Communication Foundation(或WCF)來完成。 WCF允許使用一個或多個transports兩個應用程序之間的通信。

不使用WCF,另一種方法(儘管可以說效率更低)到「通信」是通過數據庫。您的服務可以監視添加行的表,並且主程序可以在需要發生的情況下添加這些行。選擇歸結爲真正的最終目標是什麼。

祝你好運!

1

考慮使用named pipes(System.IO.Pipes) 或WCF的System.ServiceModel.NetNamedPipeBinding。 其他選項是:舊的.NET遠程處理或TCP/IP套接字。

的「後臺程序」可以是一個Windows服務,但它不會允許出現任何GUI形式提供給用戶,作爲後臺服務沒有任何形式。

一種簡單的方法來創建Windows「後臺」服務看OpenSource TopShelf project

相關問題