note : RemoveServiceByName
发布日期:2021-06-30 22:04:23
浏览次数:2
分类:技术文章
本文共 1633 字,大约阅读时间需要 5 分钟。
服务的安装代码错了,导致权限不够,无法创建当前用户的进程。
需要卸载服务后,重新进行正确的服务安装。
需要先卸载, 整理了如下卸载函数。
/// @file RemoveService.cpp : Defines the entry point for the console application./// @note requireAdministrator (/level='requireAdministrator')/// after execute this program, reboot PC, the service will be to remove#include "stdafx.h"#include#define SERVICE_NAME _T("xxService")BOOL RemoveServiceByName(WCHAR * pcServiceName);int _tmain(int argc, _TCHAR* argv[]){ BOOL bRc = FALSE; bRc = RemoveServiceByName(SERVICE_NAME); wprintf(L"Remove \"%s\" = %s\r\n", SERVICE_NAME, bRc ? L"TRUE" : L"FALSE"); wprintf(L"END, press any key to quit\r\n"); getwchar(); return 0;}BOOL RemoveServiceByName(WCHAR * pcServiceName){ BOOL bRc = FALSE; long lRc = 0; WCHAR cBuf[MAX_PATH] = {L'\0'}; SC_HANDLE schSCManager = NULL; SC_HANDLE schService = NULL; if (NULL == pcServiceName) return FALSE; schSCManager = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS); if (NULL == schSCManager) { lRc = GetLastError(); _swprintf(cBuf, L"OpenSCManager failed, error code = %d\n", lRc); wprintf(cBuf); } else { schService = OpenService( schSCManager, pcServiceName, SERVICE_ALL_ACCESS); if (NULL == schService) { lRc = GetLastError(); _swprintf(cBuf, L"OpenService failed, error code = %d\n", lRc); wprintf(cBuf); } else { if (!DeleteService(schService)) { _swprintf(cBuf, L"Failed to delete service %s\n", pcServiceName); wprintf(cBuf); } else { bRc = TRUE; _swprintf(cBuf, L"Service %s removed\n", pcServiceName); wprintf(cBuf); } CloseServiceHandle(schService); } CloseServiceHandle(schSCManager); } return bRc;}
转载地址:https://lostspeed.blog.csdn.net/article/details/18366987 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月22日 03时02分03秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Jmeter在多线程当中对某个http请求进行循环读取配置文件
2019-05-01
Python读取配置文件中文乱码问题
2019-05-01
使用Spark读写外部存储介质(Mysql、Hbase、Redis)
2019-05-01
Spark学习——利用Mleap部署spark pipeline模型
2019-05-01
手写LogisticRegression
2019-05-01
SQL经典题目总结
2019-05-01
剑指offer编程题,一周刷完
2019-05-01
推荐系统初学
2019-05-01
Map的遍历和排序
2019-05-01
约瑟夫环问题
2019-05-01
springboot+log4j2体验
2019-05-01
redis集群启动方式
2019-05-01
ubuntu系统开机自启动方式
2019-05-01
ES查询效率之快的三个重要技术
2019-05-01
JDBC概念,JDBC连接到Oracle 11g(内附驱动jar包),
2019-05-01
彻底卸载MySQL
2019-05-01
Oracle创建表,修改表(添加列、修改列、删除列、修改表的名称以及修改列名)
2019-05-01
SQL命令分类(DDL、DML、DCL、TCL以及事务)
2019-05-01
sql增删改查 命令
2019-05-01
如何查看oracle数据库中所有的表以及查看某个用户所有的表(sql语句)
2019-05-01