2016-01-19 89 views
0

我已經添加並安裝了一項服務,並試圖將服務的狀態顯示爲標籤,例如「跑」。 我加入以下代碼將服務的狀態添加到標籤.NET

public ServiceController sc = new ServiceController(); 
lblServices.Text = sc.Status.ToString(); 

但是我得到以下運行時錯誤:

「類型‘System.ArgumentException’未處理的異常發生在System.ServiceProcess.dll

附加信息:服務名稱包含無效字符,爲空,或者太長(最大長度爲80)。「

+4

什麼是服務的名稱你想獲得狀態? –

+0

它被稱爲「我的服務」 –

+0

是的。讓我們做一些邏輯。你的代碼和錯誤 - 你在哪裏設置了服務的名稱?錯誤說的是什麼?哦,服務名稱是空的(可能)。與您匹配,不要在服務控制器上進行任何配置。 – TomTom

回答

5

您需要的ServiceController這樣的構造函數來指定服務的名稱:

ServiceController sc = new ServiceController("MyService"); 
lblServices.Text = sc.Status.ToString(); 

,或者通過ServiceName屬性是這樣的:

ServiceController sc = new ServiceController(); 
sc.ServiceName = "MyService"; 
lblServices.Text = sc.Status.ToString(); 
+0

感謝您的支持:) –

+0

歡迎您@CraigGallagher –