MFC 服务管理
来源:互联网 发布:尚硅谷佟刚ajax源码 编辑:程序博客网 时间:2024/05/17 07:44
#include <winsvc.h>void CStartServiceDlg::OnBnClickedButton1(){ // 打开服务管理对象 SC_HANDLE hSC = ::OpenSCManager( NULL,NULL, GENERIC_EXECUTE); if( hSC == NULL) { TRACE( "open SCManager error"); return; } // 打开www服务。 SC_HANDLE hSvc = ::OpenService( hSC, "W3SVC", SERVICE_START | SERVICE_QUERY_STATUS | SERVICE_STOP); if( hSvc == NULL) { TRACE( "Open www erron。"); ::CloseServiceHandle( hSC); return; } // 获得服务的状态 SERVICE_STATUS status; if( ::QueryServiceStatus( hSvc, &status) == FALSE) { TRACE( "Get Service state error。"); ::CloseServiceHandle( hSvc); ::CloseServiceHandle( hSC); return; } //如果处于停止状态则启动服务,否则停止服务。 if( status.dwCurrentState == SERVICE_RUNNING) { // 停止服务 if( ::ControlService( hSvc, SERVICE_CONTROL_STOP, &status) == FALSE) { TRACE( "stop service error。"); ::CloseServiceHandle( hSvc); ::CloseServiceHandle( hSC); return; } // 等待服务停止 while( ::QueryServiceStatus( hSvc, &status) == TRUE) { ::Sleep( status.dwWaitHint); if( status.dwCurrentState == SERVICE_STOPPED) { AfxMessageBox( "stop success。"); ::CloseServiceHandle( hSvc); ::CloseServiceHandle( hSC); return; } } } else if( status.dwCurrentState == SERVICE_STOPPED) { // 启动服务 if( ::StartService( hSvc, NULL, NULL) == FALSE) { TRACE( "start service error。"); ::CloseServiceHandle( hSvc); ::CloseServiceHandle( hSC); return; } // 等待服务启动 while( ::QueryServiceStatus( hSvc, &status) == TRUE) { ::Sleep( status.dwWaitHint); if( status.dwCurrentState == SERVICE_RUNNING) { AfxMessageBox( "start success。"); ::CloseServiceHandle( hSvc); ::CloseServiceHandle( hSC); return; } } } TRACE( "start error。"); ::CloseServiceHandle( hSvc); ::CloseServiceHandle( hSC); return;}
阅读全文
0 0
- MFC 服务管理
- 服务管理
- 服务管理
- 服务管理
- 管理服务
- MFC注册服务程序
- MFC 句柄管理 CHandleMap
- 日志管理类 mfc
- Excel管理类 MFC
- 电源管理(MFC)
- Linux服务管理-服务管理总结
- 社区卫生服务管理系统
- 系统服务管理
- 计算机服务管理
- Ubuntu 系统服务管理
- ubuntu服务管理
- IIS服务管理
- vista服务管理
- 【第七周项目4】队列数组
- 第一个wxWidgets程序-helloworld
- GitLab 简明安装配置指南
- char*A与A[]
- 在JSP里使用CKEditor和CKFinder
- MFC 服务管理
- [转]从0开始搭建一个微服务的持续交付系统
- 学习Android Studio打包以及Gradle构建配置
- selinux 权限修改
- SQLServer2008 数据库备份还原
- android datePicker属性
- leetcode 479. Largest Palindrome Product最大的回文乘积
- PHP——一维数组遍历
- Oracle用户管理系列②--创建用户、权限授予,权限传递,权限授予调用方式,与权限收回全过程