QueryServiceConfig

c++ 获取系统服务 <br />#include "StdAfx.h" #include <windows.h> #include <iostream.h> void main() { int menu = 0; while (cin >> menu) { if(menu == 1) { SC_HANDLE SCMan = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); //打开系统服务控制器 if(SCMan == NULL) 阅读详情

QueryServiceConfig

The QueryServiceConfig function retrieves the configuration parameters of the specified service. Optional configuration parameters are available using the QueryServiceConfig2 function.

BOOL QueryServiceConfig(
  SC_HANDLE hService,
  LPQUERY_SERVICE_CONFIG lpServiceConfig,
  DWORD cbBufSize,
  LPDWORD pcbBytesNeeded
);
Parameters
hService
[in] Handle to the service. This handle is returned by the OpenService or CreateService function, and it must have the SERVICE_QUERY_CONFIG access right. For more information, see Service Security and Access Rights.
lpServiceConfig
[out] Pointer to a buffer that receives the service configuration information. The format of the data is a QUERY_SERVICE_CONFIG structure.

The maximum size of this array is 8K bytes. To determine the required size, specify NULL for this parameter and 0 for the cbBufSize parameter. The function will fail and GetLastError will return ERROR_INSUFFICIENT_BUFFER. The pcbBytesNeeded parameter will receive the required size.

cbBufSize
[in] Size of the buffer pointed to by the lpServiceConfig parameter, in bytes.
pcbBytesNeeded
[out] Pointer to a variable that receives the number of bytes needed to store all the configuration information, if the function fails with ERROR_INSUFFICIENT_BUFFER.
Return Values
If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

The following error codes can be set by the service control manager. Others can be set by the registry functions that are called by the service control manager.

Return codeDescription
ERROR_ACCESS_DENIEDThe handle does not have the SERVICE_QUERY_CONFIG access right.
ERROR_INSUFFICIENT_BUFFERThere is more service configuration information than would fit into the lpServiceConfig buffer. The number of bytes required to get all the information is returned in the pcbBytesNeeded parameter. Nothing is written to lpServiceConfig.
ERROR_INVALID_HANDLEThe specified handle is invalid.
Remarks

The QueryServiceConfig function returns the service configuration information kept in the registry for a particular service. This configuration information is first set by a service control program using the CreateService function. This information may have been updated by a service configuration program using the ChangeServiceConfig function.

If the service was running when the configuration information was last changed, the information returned by QueryServiceConfig will not reflect the current configuration of the service. Instead, it will reflect the configuration of the service when it is next run. The DisplayName key is an exception to this. When the DisplayName key is changed, it takes effect immediately, regardless of whether the service is running.

Example Code

For an example, see Querying a Service's Configuration.

Requirements
ClientRequires Windows XP, Windows 2000 Professional, or Windows NT Workstation.
ServerRequires Windows Server 2003, Windows 2000 Server, or Windows NT Server.
Header

Declared in Winsvc.h; include Windows.h.

Library

Link to Advapi32.lib.

DLLRequires Advapi32.dll.
Unicode

Implemented as QueryServiceConfigW (Unicode) and QueryServiceConfigA (ANSI).

[Win32] SCManager 服务控制管理器API(2) 在上一篇博文“[Win32] SCManager 服务控制管理器API(1)”中(地址:http://blog.youkuaiyun.com/zuishikonghuan/article/details/47803033),讲到了打开服务控制管理器、创建服务、打开服务、删除服务、获取服务状态、启动服务、发送控制码,这一篇继续。 9。枚举服务 阅读详情

相关推荐

易语言实现Windows服务启动类型修改完整源码解析

易语言以中文关键字和图形化开发环境为核心,极大降低了编程门槛。其内置对Windows API的直接调用能力,使开发者无需依赖外部库即可实现底层系统操作,尤其适用于服务控制、注册表操作等高权限任务。从技术角度看,Windows服务是遵循特定接口规范的可执行文件(EXE),它通过调用函数注册一个服务控制处理程序,从而接入系统的服务管理体系。一旦注册成功,该程序便成为“服务主体”,接受来自服务控制管理器(SCM)的指令调度。服务的核心特征包括:无界面运行。

weixin_31185473的博客 1207

Windows服务打造(四)

 1。QueryServiceConfig函数中没有服务的描述信息,得调用它的扩展函数QueryServiceConfig2,用以获取服务的描述信息;MSDN如下:BOOL WINAPI QueryServiceConfig2( __in SC_HANDLE hService, __in DWORD dwInfoLevel, __out ...

qq_27011361的博客 438

SCShell:依靠ChangeServiceConfigA来运行命令的无文件横向移动工具

壳牌 SCShell是无文件横向移动工具,它依赖ChangeServiceConfigA来运行命令。 该工具的优点在于它不会针对SMB执行身份验证。 一切都通过DCERPC执行。 该实用程序可以在不注册服务或创建服务的情况下远程使用。 它也不必删除远程系统上的任何文件*(取决于用于执行的技术) 它是如何工作的 无需创建服务,而只需通过ChangeServiceConfigA API远程打开服务并修改二进制路径名即可。 然后启动服务。 执行完成后,服务二进制路径将还原为原始路径。 原始服务路径是使用QueryServiceConfigA提取的。 一切都通过DCERPC进行,包括身份验证。 用法 当前的版本是用C编写的,但是我将其移植到C#和PowerShell 。 Usage: SCShell.exe target service payload domain username p

编程控制Windows服务

这一篇我们来介绍如何编程控制Windows服务,主要介绍两方面的内容,一是枚举系统所有服务,二是编程对服务进行控制,下面我们分别进行讲解。 枚举服务 我们主要用到两个函数:EnumServicesStatus和QueryServiceConfig,其中函数EnumServicesStatus可以获取系统中所有服务的基本信息,包括服务名称、显示名称、当前状态,如果想获取更加详细的信息,就需要Qu

Armstronghappy的专栏 1202

STM32H743实战(三)-- 时钟系统配置

本文详细讲解了STM32H743时钟系统的配置方法,重点解析了为何选择400MHz而非理论极限480MHz作为稳定运行的主频。通过STM32CubeIDE环境,手把手指导如何从外部晶振配置、电源电压设置到PLL锁相环参数调整,最终实现稳定可靠的400MHz系统时钟,并提供了代码验证与常见问题排查指南。

weixin_29164185的博客 368

用树莓派Pico低成本更新USB-C PD控制器固件实战指南

固件更新是嵌入式系统开发与维护中的核心环节,它直接决定了硬件设备的功能、性能与兼容性。其原理通常是通过特定的通信接口(如SWD、JTAG、UART或USB)与设备内部的Bootloader建立连接,将新的程序代码安全写入非易失性存储器。在USB Power Delivery(PD)和Type-C生态中,固件更新技术尤为重要,它能修复协议握手Bug、适配新设备并提升供电策略的灵活性。本文聚焦于一个典型的工程实践场景:如何利用广泛普及且成本极低的树莓派Pico开发板,作为USB-C协议到I²C协议的转换桥,实现

weixin_27869497的博客 462

在windows环境使用C++开发一个提示保护眼睛的服务(一)

长时间使用电脑,导致眼睛胀痛,去医院检查,眼压升高,严重可能导致青光眼,进而导致失明。所以准备开发一个程序来提醒自己保护眼睛。程序在后台运行,所以准备开发为服务,开机自启动。我对C++更熟,对C#不熟,所以准备使用C++。服务检测开机与解锁,检测到之后开始计时,比如40分钟,这个可以自己定,之后提示已用时40分钟,需要休息眼睛。windows服务开发文档使用chat3.5翻译的。

paokuflying的博客 1743

完美解决 mysql 报错ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded

mysql 报错ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded

xiaohua616的博客 4万+

QueryServiceConfig2

QueryServiceConfig2 The QueryServiceConfig2 function retrieves the optional configuration parameters of the specified service. BOOL QueryServiceConfig2( SC_HANDLE hService, DWORD dwInf

jiangqin115的专栏 1723

NVIDIA Isaac Lab 入门教程(一)

Isaac Lab 是一个用于机器人学习的统一模块化框架,旨在简化机器人研究中的常见工作流程(如 RL、从演示中学习和运动规划)。它建立在英伟达 Isaac Sim 的基础上,利用最新的仿真功能实现逼真的场景和快速高效的仿真。该框架的核心目标是Isaac Lab 的主要功能包括:由 PhysX 提供的快速准确的物理模拟、用于矢量化渲染的平铺渲染 API、用于提高鲁棒性和适应性的域随机化,以及对在云中运行的支持。有关该框架的更多信息,请参阅论文[MYY+23]。

机器人控制与仿真应用 8218

【Verilog基础】CDC跨时钟域方法,典型异步电路设计之脉冲同步器(上)

【Verilog基础】CDC跨时钟域方法,典型异步电路设计之脉冲同步器(上):慢时钟域到快时钟域!

悟已往之不谏 知来者之可追 1546

QUERY_SERVICE_CONFIG

QUERY_SERVICE_CONFIGThe QUERY_SERVICE_CONFIG structure is used by the QueryServiceConfig function to return configuration information about an installed service.typedef struct _QUERY_SERVICE_CONFIG {

小发猫 2685

Hermes Agent 安装部署完全指南

Hermes Agent安装部署指南提供了两种安装方式:一键脚本安装和手动分步安装。该AI助手支持多平台运行(Linux/macOS/WSL2),核心功能仅需Git作为前置依赖,其他依赖如Python、Node.js等均由安装脚本自动处理。文档详细介绍了系统要求、依赖管理、配置目录结构、环境变量设置以及10个手动安装步骤,并提供了功能模块化选项,用户可根据需求选择安装语音交互、浏览器自动化等扩展功能。安装完成后可通过hermes doctor命令验证环境,并通过交互式向导完成初始化配置。

简简单单Onlinezuozuo 2630

Windows服务打造(三)

 1.调用OpenService(...) 和QueryServiceConfig(...) 两个API查询服务节点启动类型和文件路径;SC_HANDLE WINAPI OpenService( __in SC_HANDLE hSCManager, __in LPCTSTR lpServiceName, __in DWORD dwD...

qq_27011361的博客 343

《Python星球日记》 第72天:问答系统与信息检索

《Python星球日记》 第72天:问答系统与信息检索,在前面的日子里,我们学习了自然语言处理的基础知识,包括文本预处理、词向量、Transformer架构和各种预训练模型。今天,我们将探索问答系统这一NLP的重要应用,以及如何结合信息检索技术构建智能问答系统。

Code_流苏:在代码中寻诗意,在实践中觅真知 1075

可维护的 SAP UI5 Theming 策略:从 CSS 级联与特性选择器到 UI Theme Designer 的工程化落地

摘要:SAP UI5主题化是一个涉及CSS级联、选择器特异性和主题参数的系统工程,与应用逻辑解耦以实现品牌化和无障碍适配。轻量级调整优先使用附加CSS,重大改动才考虑创建新主题。样式冲突需通过特异性原则解决,避免滥用!important。动态添加样式应使用addStyleClass而非直接操作DOM。主题可通过bootstrap参数、URL或运行时API设置,企业级主题推荐使用UI Theme Designer。自定义内容应消费主题变量以实现一致性,避免直接修改控件内部结构或内联样式。工程化落地需规范分层和

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 307

C++ 获取Windows服务列表

#include <windows.h> #include <iostream> #define MAX_SERVICE_SIZE 1024 * 64 #define MAX_QUERY_SIZE 1024 * 8 int main(void) { do { SC_HANDLE SCMan = OpenSCMana...

weixin_30614109的博客 1405

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SERVICE_DESCRIPTION

SERVICE_DESCRIPTIONThe SERVICE_DESCRIPTION structure represents a service description.typedef struct _SERVICE_DESCRIPTION { LPTSTR lpDescription;} SERVICE_DESCRIPTION, *LPSERVICE_DESCRIPTION;Member

小发猫 2080

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SC_ACTION

SC_ACTIONThe SC_ACTION structure represents an action that the service control manager can perform.typedef struct _SC_ACTION { SC_ACTION_TYPE Type; DWORD Delay;} SC_ACTION, *LPSC_ACTION;MembersTyp

小发猫 1650

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Querying a Service's Configuration

Querying a Services ConfigurationIn the following example, a service configuration program uses the OpenService function to get a handle with SERVICE_QUERY_CONFIG access to an installed service objec

小发猫 1311

Windows服务编写

4        服务控制程序 4.1    服务控制程序概要 在上面我们了解服务程序的编写,现在我们来看一下控制服务时会用到的几个常用API。服务控制程序的编写与标准的Windows应用程序无异,它要用到服务管理函数,如:OpenSCManager、OpenService、QueryServiceConfig、StartService、QueryServiceStatus、Contr

jiangqin115的专栏 867

获取Windows服务的配置信息

procedureQuerySvcConfig(Service:String;outconfig:TQueryServiceConfig);varschm,schs:SC_Handle;ss:TServiceStatus;dwChkP:DWord;sConfig:PQueryServiceConfigA;sNeeded:Cardinal;beg...

weixin_30278237的博客 266

ChangeServiceConfig2

ChangeServiceConfig2The ChangeServiceConfig2 function changes the optional configuration parameters of a service.BOOL ChangeServiceConfig2( SC_HANDLE hService, DWORD dwInfoLevel, LPVOID lpInf

小发猫 2863

服务控制程序

点击打开原文链接一:服务控制程序概要服务控制程序的编写与标准的Windows应用程序无异,它要用到服务管理函数,如:OpenSCManager、OpenService、QueryServiceConfig、StartService、QueryServiceStatus、ControlService等;它都在系统的advapi32.dll中实现。在使用SCM的函数时,SCP必须要首先调用OpenSC...

mpp_king的博客 1108
上一篇: OpenService
下一篇: QueryServiceConfig2
普通网友
博客等级 码龄22年 1万+粉丝 3156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值