首页 > 代码库 > Windows服务之启动、停止、暂停、继续

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服务之启动、停止、暂停、继续