- WinCE Security...
- xdebug配置说明
- VC++ 获取文件的创建、修...
- ASP进度条
- 简单代理服务器C代码实现(S...
- 程序设计竞赛试题选(02)
- 如何在ASP程序中打印Acc...
- UTF-8和16进制区间
- ASP实用技巧:强制刷新和判...
- 运行中程序删除自己的方法
- asp提高首页性能的一个技巧
- [J2EE]J2EE 应用服务器技术
- VB变量命名规范
- C语言常见错误小结
- (摘自网络)如何在IIS中调...
VC++ 重启服务,停止服务,启动服务
下面是一段用VC++ 控制windows服务的代码 w3svc 是www服务的操作码。。
void CXXXDlg::ServiceRun()
{
SERVICE_STATUS ssStatus;
//获得ServiceControl Manager的句柄
SC_HANDLE shServiceManager=OpenSCManager(NULL,SERVICES_ACTIVE_DATABASE,SC_MANAGER_ALL_ACCESS);
//然后获得用户希望检查的服务的句柄
SC_HANDLE shDefineService=OpenService(shServiceManager,"W3SVC",SERVICE_ALL_ACCESS);
if((QueryServiceStatus(shDefineService,&ssStatus))==0)
AfxMessageBox("无法确定服务状态",MB_ICONINFORMATION);
//下面的代码用于检查服务是否被停止,如果停止则打开此服务
SC_HANDLE stService;
if(ssStatus.dwCurrentState==SERVICE_STOPPED)
{
//AfxMessageBox("启动IIS",MB_ICONINFORMATION);
stService=OpenService(shServiceManager,"W3SVC",SERVICE_START|GENERIC_EXECUTE);
StartService(stService,0,NULL);
CloseServiceHandle(stService);
}
else
{
//AfxMessageBox("停止IIS",MB_ICONINFORMATION);
stService=OpenService(shServiceManager,"W3SVC",SERVICE_STOP|GENERIC_EXECUTE);
ControlService(stService,SERVICE_CONTROL_STOP,&ssStatus);
CloseServiceHandle(stService);
}
CloseServiceHandle(shDefineService);
CloseServiceHandle(shServiceManager);
}