Windows服务之启动、停止、暂停、继续

原文:Windows服务之启动、停止、暂停、继续

Windows服务之启动、停止、暂停、继续
2011-11-09 15:07:37     我来说两句 
收藏   我要投稿    [字体: ]

 

SC_HANDLE   scm,sHandle;

   SERVICE_STATUS   ServiceStatus;

    scm=OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);

    if   (scm!=NULL)

      {

//启动service

        sHandle=OpenService(scm, "GwbnService",SERVICE_START);

        if(sHandle!=NULL)

          {

            StartService(sHandle,0,NULL))//开始Service

          

//停止Service

          sHandle=OpenService(scm, "GwbnService",SERVICE_STOP|SERVICE_QUERY_STATUS);

          if(sHandle!=NULL)

              QueryServiceStatus(sHandle,&ServiceStatus);

          if(ServiceStatus.dwCurrentState   ==   SERVICE_RUNNING   ||   ServiceStatus.dwCurrentState   ==   SERVICE_PAUSED)

            {

              ControlService(sHandle,SERVICE_CONTROL_STOP,&ServiceStatus);

            }

//暂停Service

          sHandle=OpenService(scm, "GwbnService",SERVICE_PAUSE_CONTINUE|SERVICE_QUERY_STATUS);

          if(sHandle!=NULL)

          QueryServiceStatus(sHandle,&ServiceStatus);

          if(ServiceStatus.dwCurrentState   ==   SERVICE_RUNNING)

            {

              ControlService(sHandle,SERVICE_CONTROL_PAUSE,&ServiceStatus);

            }

//继续Service

          sHandle=OpenService(scm, "GwbnService",SERVICE_PAUSE_CONTINUE|SERVICE_QUERY_STATUS);

          if(sHandle!=NULL)

          QueryServiceStatus(sHandle,&ServiceStatus);

          if(ServiceStatus.dwCurrentState   ==   SERVICE_PAUSED)

            {

              ControlService(sHandle,SERVICE_CONTROL_CONTINUE,&ServiceStatus);

            }

 

      }

 

注意:服务有服务名称和显示名称之分,这里需要的是服务名称

 

Windows服务之启动、停止、暂停、继续

上一篇:XDOC云服务API(三)


下一篇:启动Flink的yarn-session模式出错