方法 : Windows サービスを作成するHow to: Create Windows Services

サービスを作成するときには、Windows サービスと呼ばれる、Visual Studio プロジェクトのテンプレートを使用できます。When you create a service, you can use a Visual Studio project template called Windows Service. このテンプレートを使用すると、作業の多くを自動化できます。この自動化は、適切なクラスと名前空間を参照し、サービスの基底クラスからの継承を設定し、メソッドのいくつかをオーバーライドすることで実現されます。This template automatically does much of the work for you by referencing the appropriate classes and namespaces, setting up the inheritance from the base class for services, and overriding several of the methods you're likely to want to override.

警告

Windows サービスのプロジェクト テンプレートは、Visual Studio の Express Edition では使用できません。The Windows Services project template is not available in the Express edition of Visual Studio.

実用的なサービスを作成するには、少なくとも以下の作業を行う必要があります。At a minimum, to create a functional service you must:

  • ServiceName プロパティを設定します。Set the ServiceName property.

  • サービス アプリケーションに必要なインストーラーを作成します。Create the necessary installers for your service application.

  • OnStart メソッドと OnStop メソッドのオーバーライドとコーディングを行い、サービスの動作をカスタマイズします。Override and specify code for the OnStart and OnStop methods to customize the ways in which your service behaves.

Windows サービス アプリケーションを作成するにはTo create a Windows Service application

  1. Windows サービス プロジェクトを作成します。Create a Windows Service project.

    注意

    テンプレートを使用せずにサービスを記述する方法については、「方法: プログラムでサービスを作成する」をご覧ください。For instructions on writing a service without using the template, see How to: Write Services Programmatically.

  2. [プロパティ] ウィンドウで、サービスの ServiceName プロパティを設定します。In the Properties window, set the ServiceName property for your service.

    ServiceName プロパティを設定する。Set the ServiceName property.

    注意

    ServiceName プロパティの値は、各インストーラー クラスに記録されている名前と一致する必要があります。The value of the ServiceName property must always match the name recorded in the installer classes. このプロパティを変更した場合は、インストーラー クラスの ServiceName プロパティも変更する必要があります。If you change this property, you must update the ServiceName property of installer classes as well.

  3. 次のいずれかのプロパティを設定して、サービスの動作を決定します。Set any of the following properties to determine how your service will function.

    プロパティProperty 設定Setting
    CanStop サービスが実行停止要求を受け付ける場合は True を設定します。サービスの実行を停止しない場合は false を設定します。True to indicate that the service will accept requests to stop running; false to prevent the service from being stopped.
    CanShutdown サービスがコンピューターのシャットダウン時に通知を受けて True プロシージャを呼び出す場合は、OnShutdown を設定します。True to indicate that the service wants to receive notification when the computer on which it lives shuts down, enabling it to call the OnShutdown procedure.
    CanPauseAndContinue サービスが一時停止要求または再開要求を受け付ける場合は True を設定します。サービスを一時停止または再開しない場合は false を設定します。True to indicate that the service will accept requests to pause or to resume running; false to prevent the service from being paused and resumed.
    CanHandlePowerEvent コンピューターの電源状態の変化をサービスに通知する場合は True を設定します。サービスに電源状態の変化を通知しない場合は、false を設定します。True to indicate that the service can handle notification of changes to the computer's power status; false to prevent the service from being notified of these changes.
    AutoLog サービスがアクションを実行したときにアプリケーション イベント ログに情報を入力する場合は True を設定します。この機能を無効にする場合は false を設定します。True to write informational entries to the Application event log when your service performs an action; false to disable this functionality. 詳しくは、「方法 : サービスに関する情報のログを記録する」をご覧ください。For more information, see How to: Log Information About Services. 注: 既定では、AutoLogtrue に設定されています。Note: By default, AutoLog is set to true.

    注意

    CanStop または CanPauseAndContinuefalse に設定すると、サービス コントロール マネージャーは、対応するメニュー オプション (サービスの停止、一時停止、または継続) を無効にします。When CanStop or CanPauseAndContinue are set to false, the Service Control Manager will disable the corresponding menu options to stop, pause, or continue the service.

  4. コード エディターを起動し、OnStart プロシージャと OnStop プロシージャの処理を記述します。Access the Code Editor and fill in the processing you want for the OnStart and OnStop procedures.

  5. ほかに動作を定義するメソッドがある場合は、それをオーバーライドします。Override any other methods for which you want to define functionality.

  6. サービス アプリケーションの必要なインストーラーを追加します。Add the necessary installers for your service application. 詳しくは、「方法: サービス アプリケーションにインストーラーを追加する」をご覧ください。For more information, see How to: Add Installers to Your Service Application.

  7. [ビルド] メニューの [ソリューションのビルド] をクリックして、プロジェクトを作成します。Build your project by selecting Build Solution from the Build menu.

    注意

    F5 キーを押してプロジェクトを実行しないでください。この方法ではサービス プロジェクトを実行できません。Do not press F5 to run your project — you cannot run a service project in this way.

  8. サービスをインストールします。Install the service. 詳細については、「 How to: Install and Uninstall Services」を参照してください。For more information, see How to: Install and Uninstall Services.

参照See Also

Windows サービス アプリケーションの概要Introduction to Windows Service Applications
方法 : プログラムでサービスを作成するHow to: Write Services Programmatically
方法 : サービス アプリケーションにインストーラーを追加するHow to: Add Installers to Your Service Application
方法 : サービスに関する情報のログを記録するHow to: Log Information About Services
方法 : サービスを開始するHow to: Start Services
方法 : サービスのセキュリティ コンテキストを指定するHow to: Specify the Security Context for Services
方法 : サービスをインストールおよびアンインストールするHow to: Install and Uninstall Services
チュートリアル: コンポーネント デザイナーによる Windows サービス アプリケーションの作成Walkthrough: Creating a Windows Service Application in the Component Designer