zoukankan      html  css  js  c++  java
  • 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); 
           }
       

  • 相关阅读:
    linux 解压命令
    在xampp集成环境下使用 thinkphp 连接oracle
    输入框实现新闻列表分页显示(一)
    MyEclipse获取注册码
    Oracle数据库创建表空间
    SQL Server之存储过程
    连接Oracle数据库帮助类
    Oracle数据库的导入和导出
    创建dml触发器
    java连接数据库步骤
  • 原文地址:https://www.cnblogs.com/baozhu/p/5171207.html
Copyright © 2011-2022 走看看