您的位置:首页 > 其它

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

2011-11-07 22:34 447 查看
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);

}

}

注意:服务有服务名称和显示名称之分,这里需要的是服务名称
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: