当前位置: 首页 > news >正文

江海区建设局网站南充网站网站建设

江海区建设局网站,南充网站网站建设,深圳制作网站搜行者seo,wordpress登录框日常开发中,会遇到改变某个服务的参数,并进行重启(例如Redis断电恢复机制) 需要程序拥有UAC权限,并且调用如下API才能对windows服务进行重启: #include "windows.h"#pragma comment(lib, "…

日常开发中,会遇到改变某个服务的参数,并进行重启(例如Redis断电恢复机制)

需要程序拥有UAC权限,并且调用如下API才能对windows服务进行重启:

#include "windows.h"#pragma comment(lib, "advapi32.lib")bool ConfigCenter::ReStartServiceByName(std::string strDestServiceName)
{bool bServiceStatus     = FALSE;SC_HANDLE schSCManager  =  nullptr ;SC_HANDLE schService    =  nullptr ;DWORD dwBytesNeeded     =  0 ;SERVICE_STATUS_PROCESS ssStatus;char szSvcName[MAX_PATH] = {0};memcpy_s(szSvcName,MAX_PATH,strDestServiceName.c_str(),strDestServiceName.length());//! 获取一个服务控制管理器数据库的句柄schSCManager = OpenSCManager(nullptr ,                           // local computernullptr ,                           // ServicesActive databaseSC_MANAGER_ALL_ACCESS);             // full access rightsif(schSCManager == nullptr) {qDebug() << "OpenSCManager fail" << endl;return bServiceStatus;}//! 获取该服务在服务控制管理器数据库中的句柄schService = OpenServiceA(schSCManager,                       // SCM databaseszSvcName,                          // name of serviceSERVICE_ALL_ACCESS/* | DELETE*/);   // full accessif(schService == nullptr) {CloseServiceHandle(schSCManager);qDebug() << "Get a handle to the service fail" << endl;return bServiceStatus;}//! 查询该服务的当前状态if(!QueryServiceStatusEx(schService,                         // handle to serviceSC_STATUS_PROCESS_INFO,             // information level(LPBYTE) &ssStatus,                 // address of structuresizeof (SERVICE_STATUS_PROCESS),    // size of structure&dwBytesNeeded ) )                  // size needed if buffer is too small{CloseServiceHandle(schService);CloseServiceHandle(schSCManager);qDebug() << "QueryServiceStatusEx fail" << endl;return bServiceStatus;}else{switch (ssStatus.dwCurrentState){case  SERVICE_STOPPED:case  SERVICE_STOP_PENDING:qDebug() << szSvcName << " Service status is Stop" << endl;break ;case  SERVICE_PAUSED:case  SERVICE_PAUSE_PENDING:qDebug() << szSvcName << " Service status is Pause" << endl;break ;case  SERVICE_CONTINUE_PENDING:case  SERVICE_RUNNING:case  SERVICE_START_PENDING:qDebug() << szSvcName << " Service status is Running" << endl;bServiceStatus = TRUE;break ;}}//! 停止该服务if(bServiceStatus == TRUE) {SERVICE_STATUS status;if (!ControlService(schService, SERVICE_CONTROL_STOP, &status)) {qDebug() << "ControlService failed with error:" << GetLastError();return !bServiceStatus;}}//! 启动该服务StartService(schService,0,nullptr);Sleep(500);//! 获得服务的当前状态QueryServiceStatusEx(schService,SC_STATUS_PROCESS_INFO,(LPBYTE) &ssStatus,sizeof (SERVICE_STATUS_PROCESS),&dwBytesNeeded );if (SERVICE_RUNNING == ssStatus.dwCurrentState){bServiceStatus = TRUE;}CloseServiceHandle(schService);CloseServiceHandle(schSCManager);return bServiceStatus;
}

参考文章:https://www.cnblogs.com/TechNomad/p/17669231.html

http://www.bjxfkj.com.cn/article/110517.html

相关文章:

  • 绿色食品网站模板.htm成品网站w在线观看
  • 高质量网站内容建设标准如何增加网站关键词密度
  • seo网站优化师个人备案挂企业网站
  • 网站 建设 流行 数据库网站开发和软件开发含义
  • 创造网站软件广告版面设计图大全
  • 南通如何制作一个网站成都网站设计合理柚v米科技
  • 做百度手机网站点网站建设若干意见
  • 网站搭建实训总结站长工具综合权重查询
  • 阿里云怎么做静态网站扬州专业做网站企业
  • 网站建设属于行政那个模块文化网站设计经典案例
  • 京东网站设计特点旅游电子商务网站建设与研究
  • 网站建设与实现的要求与务郑州seo外包平台
  • 闸北网站优化公司做网站还有希望吗
  • 自动化优化系统网站建设wordpress安装不上主题
  • 百度网站做不做wordpress 售后 插件
  • 一般网站建设多少钱阿里巴巴网站建设论文
  • 福州火车站最新消息建设银行沈阳分行网站
  • 网站备案有哪些费用企业网站制作 西安
  • 商城型网站的概念免费生成图片的网站
  • 宁波网站制作建设wordpress英文变中文版
  • 兰州市城乡建设及网站网站建设合同交什么印花税
  • 广州网站建设首选快优如何做学校的网站
  • 昆山推广用什么网站比较好餐饮网站开发毕业设计模板
  • 承德公司网站建设高端网站制作网站建设
  • 成都成华网站建设成都网络营销策划
  • 企业网站建设遵循的原则开发游戏的软件有哪些
  • 做企业网站域名wordpress有趣代码
  • 网站建设域名注册wordpress文章分页插件
  • 网站平台建设工作汇报本地电脑做服务器建网站
  • 江苏搜索引擎优化太原网站制作优化seo公司