[C#][Tips] サービス制御

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.ServiceProcess;

namespace サービス制御
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {

            string sSrevice = "World Wide Web Publishing Service";
            this.txtStatus.Text = String.Empty;


            //usingステートメントは範囲から抜けた際に自動的にDisposeなどしてくれるので便利です。
            //「任意のWindowsサービス」は動作したいサービス名を指定してください。
            using (ServiceController sc = new ServiceController(sSrevice))
            {
                //プロパティ値を更新
                sc.Refresh();

                //起動中
                if (sc.Status == ServiceControllerStatus.Running)
                {
                    // 停止
                    sc.Stop();
                    this.txtStatus.Text = "Stop";
                    
                    // 一時停止
                    //sc.Pause();
                }
                //停止中
                else if (sc.Status == ServiceControllerStatus.Stopped)
                {
                    // 開始
                    sc.Start();
                    this.txtStatus.Text = "Run";
                }
                //一時停止中
                else if (sc.Status == ServiceControllerStatus.Paused)
                {
                    // 再開
                    sc.Continue();
                    this.txtStatus.Text = "Run";

                    // 停止
                    //sc.Stop();
                }
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }
    }
}