ServiceController クラス
アセンブリ: System.ServiceProcess (system.serviceprocess.dll 内)


ServiceController クラスを使用すると、既存のサービスに接続して、動作を制御できます。ServiceController クラスのインスタンスを作成すると、特定の Windows サービスと対話できるようにプロパティを設定します。この設定後、クラスを使用してサービスの開始、停止、およびその他の操作を実行できます。
ほとんどの場合、ServiceController コンポーネントは管理機能として使用します。たとえば、ServiceController インスタンスを通じてサービスにカスタム コマンドを送信する Windows アプリケーションまたは Web アプリケーションを作成できます。サービス コントロール マネージャ (SCM: Service Control Manager) Microsoft 管理コンソール スナップインではカスタム コマンドがサポートされていないため、このような機能は便利です。
ServiceController のインスタンスを作成した後で、対話の対象となるサービスを識別する 2 つのプロパティとして、制御するコンピュータ名およびサービス名を設定する必要があります。
![]() |
---|
既定では、MachineName はローカル コンピュータに設定されているため、別のコンピュータを指定するインスタンスを設定しない限り、この設定を変更する必要はありません。 |
通常、サービスの作成者は、特定のコマンドに関連付けられているアクションをカスタマイズするコードを書き込みます。たとえば、ServiceBase.OnPause コマンドに応答するコードをサービスに含むことができます。この場合、Pause タスクのカスタム プロセスは、システムがサービスを一時中断する前に実行されます。
サービスが処理できる一連のコマンドは、そのサービスのプロパティによって決まります。たとえば、あるサービスの CanStop プロパティを false に設定するとします。この設定により、そのサービスでは Stop コマンドが使用できなくなります。必要なボタンを無効にすると、SCM でサービスを停止できなくなります。コードでサービスを停止しようとすると、エラーが発生し、" servicename を停止できませんでした。" というエラー メッセージが表示されます。

System.MarshalByRefObject
System.ComponentModel.Component
System.ServiceProcess.ServiceController


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ServiceController メンバ
System.ServiceProcess 名前空間
ServiceBase クラス
ServiceControllerStatus
ServiceType
Weblioに収録されているすべての辞書からServiceController クラスを検索する場合は、下記のリンクをクリックしてください。

- ServiceController クラスのページへのリンク