次の方法で共有


ServiceController.ExecuteCommand(Int32) メソッド

定義

サービスでカスタム コマンドを実行します。

public:
 void ExecuteCommand(int command);
public void ExecuteCommand (int command);
member this.ExecuteCommand : int -> unit
Public Sub ExecuteCommand (command As Integer)

パラメーター

command
Int32

実行するカスタム コマンドを示す、アプリケーション定義のコマンド フラグ。 有効値の範囲は 128 ~ 256 です。

例外

システム API にアクセス中にエラーが発生しました。

サービスが見つかりませんでした。

次のコード例は、 メソッドを ServiceController.ExecuteCommand(Int32) 使用してサービスの例でカスタム コマンドを実行する方法を SimpleService 示しています。

using System;
using System.ServiceProcess;

namespace test_exec_cmnd
{
    class Program
    {
        private enum SimpleServiceCustomCommands { StopWorker = 128, RestartWorker, CheckWorker };
        static void Main(string[] args)
        {
            ServiceController myService = new ServiceController("SimpleService");
            myService.ExecuteCommand((int)SimpleServiceCustomCommands.StopWorker);
            myService.ExecuteCommand((int)SimpleServiceCustomCommands.RestartWorker);
            myService.ExecuteCommand((int)SimpleServiceCustomCommands.CheckWorker);
        }
    }
}
Imports System.ServiceProcess



Class Program
    
    Private Enum SimpleServiceCustomCommands
        StopWorker = 128
        RestartWorker
        CheckWorker '
    End Enum 'SimpleServiceCustomCommands

    Shared Sub Main(ByVal args() As String) 
        Dim myService As New ServiceController("SimpleService")
        myService.ExecuteCommand(Fix(SimpleServiceCustomCommands.StopWorker))
        myService.ExecuteCommand(Fix(SimpleServiceCustomCommands.RestartWorker))
        myService.ExecuteCommand(Fix(SimpleServiceCustomCommands.CheckWorker))
    
    End Sub
End Class

注釈

を呼び出 ExecuteCommandしても、サービスの状態は変更されません。 サービスが開始された場合、状態は のままです Running。 サービスが停止した場合、状態は のまま Stoppedです。 カスタム コマンドを処理するには、サービスで メソッドを OnCustomCommand オーバーライドし、 パラメーターで識別されるコマンドのハンドラーを指定する command 必要があります。

適用対象

こちらもご覧ください