• windows服务命令 转载


    OnCustomCommand executes when the Service Control Manager (SCM) passes a custom command to the service. Specifies actions to take when a command with the specified parameter value occurs.

    The only values for a custom command that you can define in your application or use in OnCustomCommand are those between 128 and 256.
    Integers below 128 correspond to system-reserved values.

    Create One Windows Service & Implement Below Code in Service :

    namespace MyWindowsService
    {
        public partial class Service1 : ServiceBase
        {
            public enum SimpleServiceCustomCommands { Command1 = 128, Command2 =129, Command3 = 130};
     
            public Service1()
            {
                InitializeComponent();
            }

            protected override void OnStart(string[] args)
            {
            }

            protected override void OnStop()
            {
            }

            protected override void OnCustomCommand(int command)
            {
                base.OnCustomCommand(command);

                switch(command)
                {
                    case(int)SimpleServiceCustomCommands.Command1:
                    //Command1 Implementation
                    break;

                    case(int)SimpleServiceCustomCommands.Command2:
                    //Command2 Implementation
                     break;

                    case(int)SimpleServiceCustomCommands.Command3:
                    //Command3 Implementation
                        break;
                    default:
                        break;
     
               }       
            }
        } }

    Call Windows Service CustomCommands From User Application :

    • Create Service Controller Object 

      ServiceController Controller = new ServiceController("MyWindowsService");
       
    • Start the Windows Service

      Controller.Refresh(); //Gets the current status of service
          if (Controller.Status == ServiceControllerStatus.Stopped)
           {
       Controller.Start();
           }

       
    • Call CustomCommands Using Controller Object
       

      if (Controller.Status == ServiceControllerStatus.Running)
        {
            Controller.ExecuteCommand(128); 
           }
       

  • 相关阅读:
    2017.12.13T19_B2_6.4内部类
    2017.12.13T19_B2_6.3内部类
    python--spider模拟登录
    Redis数据库
    python--spider验证码
    python--Selenium(动态渲染页面爬取)
    python--Ajax
    python绘图实例
    python绘图
    Numpy库收尾(20190806)
  • 原文地址:https://www.cnblogs.com/baozhu/p/5171207.html
Copyright © 2020-2023  润新知