[Service] ServiceController 使用

這次看到一個服務控制的類別元件, 就來用用看吧!
1. 利用樣本來創建新的專案. (我是使用C++ CLI的Windows Form樣本)
由於他一開始並沒有將我們需要的參考:
System::SystemProcess,
所以我們需要到屬性中手動加入我們需要的參考(如下圖)












加入之後, 我們可以發現, 工具箱多了ServiceController這個元件可使用.
所以我們要使用ServiceController的時候, 可以直接從工具箱拉元件過來使用又或者可以直接新增他.

System::ServiceProcess::ServiceController^ sc1;
sc1=gcnew System::ServiceProcess::ServiceController("指定的服務名稱");

到控制台->系統管理工具->服務去找一個比較熟悉的服務...來測試一下吧...
(ex: 服務名稱: avast! Antivirus)











只要在建構時設定在本機上的服務名稱或者可以對ServiceName做定義;
就可以針對指定的Service做動作(啟動、停止等...)

sc1->ServiceName="指定的服務名稱";

當然, ServiceController有屬性可以知道此服務是否可以停止(CanStop)、暫停或者再啟動(CanPauseAndContinue)。

當指定的服務沒有存在執行的本機時, 可能會產生以下Exception.
(當CanStop為false時, 我們又執行Stop方法時, 會產生InvalidOperationException)


MSDN ServiceController類別:
http://msdn.microsoft.com/zh-tw/library/system.serviceprocess.servicecontroller(v=vs.80).aspx

這個網誌中的熱門文章

[Tips] 設定桌面文字顏色

登入失敗: 使用者帳戶限制。可能原因為不允許空的密碼,登入時數限制,或強制的原則限制

[CCD] Line Scan V.S. Area Scan