QueryServiceStatusEx

windows客户端开发--监测windows某一服务是否开启 windows apiOpenSCManager function OpenSCManager( lpMachineName: PChar, lpDatabaseName: PChar, dwDesiredAccess: DWORD): SC_HANDLE; stdcall; 参数 lpMachineName 指向零终止字符串,指定目标计算机的名称。如果该指针为NULL ,或者它指向一 阅读详情

QueryServiceStatusEx

The QueryServiceStatusEx function retrieves the current status of the specified service based on the specified information level.

BOOL QueryServiceStatusEx(
  SC_HANDLE hService,
  SC_STATUS_TYPE InfoLevel,
  LPBYTE lpBuffer,
  DWORD cbBufSize,
  LPDWORD pcbBytesNeeded
);
Parameters
hService
[in] Handle to the service. This handle is returned by the CreateService or OpenService function, and it must have the SERIVCE_QUERY_STATUS access right. For more information, see Service Security and Access Rights.
InfoLevel
[in] Service attributes to be returned. Use SC_STATUS_PROCESS_INFO to retrieve the service status information. The lpBuffer parameter is a pointer to a SERVICE_STATUS_PROCESS structure.

Currently, no other information levels are defined.

lpBuffer
[out] Pointer to the buffer that receives the status information. The format of this data depends on the value of the InfoLevel parameter.

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 lpBuffer parameter, in bytes.
pcbBytesNeeded
[out] Pointer to a variable that receives the number of bytes needed to store all status 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 errors can be returned.

Return codeDescription
ERROR_INVALID_HANDLEThe handle is invalid.
ERROR_ACCESS_DENIEDThe handle does not have the SERVICE_QUERY_STATUS access right.
ERROR_INSUFFICIENT_BUFFERThe buffer is too small for the SERVICE_STATUS_PROCESS structure. Nothing was written to the structure.
ERROR_INVALID_PARAMETERThe cbSize member of SERVICE_STATUS_PROCESS is not valid.
ERROR_INVALID_LEVELThe InfoLevel parameter contains an unsupported value.
ERROR_SHUTDOWN_IN_PROGRESSThe system is shutting down; this function cannot be called.
Remarks

The QueryServiceStatusEx function returns the most recent service status information reported to the service control manager. If the service just changed its status, it may not have updated the service control manager yet. Applications can find the current service status by querying the service directly by using the ControlService function with the SERVICE_CONTROL_INTERROGATE control code.

The process identifier returned in the SERVICE_STATUS_PROCESS structure is valid provided that the state of the service is one of SERVICE_RUNNING, SERVICE_PAUSE_PENDING, SERVICE_PAUSED, or SERVICE_CONTINUE_PENDING. If the service is in a SERVICE_START_PENDING or SERVICE_STOP_PENDING state, however, the process identifier may not be valid, and if the service is in the SERVICE_STOPPED state, it is never valid.

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

Declared in Winsvc.h; include Windows.h.

Library

Link to Advapi32.lib.

DLLRequires Advapi32.dll.
根据端口号得到打开该端口号的进程ID 根据端口号得到打开该端口号的进程ID。根据端口号得到打开该端口号的进程ID。 立即下载

相关推荐

根据服务名取进程ID

(DELPHI7自带的WinSvc单元没有定义MSDN新增的几个函数 QueryServiceStatusEx, EnumServicesStatusEx 等),附带了WinSvc单元新增的这几个函数的定义

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

服务控制程序可以创建或修改与服务关联的DACL以控制访问。使用QueryServiceObjectSecurity函数可以检索与服务对象关联的DACL。使用SetServiceObjectSecurity函数可以设置DACL。对服务对象关联的SECURITY_DESCRIPTOR所做的任何更改都将持久存在,直到服务从系统中移除。以下示例创建并设置了一个新的服务DACL。代码将一个访问控制项(ACE)合并到服务的现有DACL中。

paokuflying的博客 706

几个delphi写的进程相关的函数,最近开发一个服务程序收集编写

delphi写的进程相关的函数,最近开发一个服务程序收集编写 增加了注释 在win7 32位64位,xp测试通过。 请朋友们测试急需完善

QueryServiceStatus、SetServiceStatus:获取设置服务运行状态

QueryServiceStatus: 获取服务运行状态,函数原型如下: BOOL QueryServiceStatus( SC_HANDLE hService, LPSERVICE_STATUS lpServiceStatus); 参数hService是服务句柄,lpServiceStatus指向保存服务状态信息的SERVICE_STATUS机构的变量,返回表示是否成功。 Set

Armstronghappy的专栏 2236

Omnibox 2.11 NAS部署指南:家庭影音中枢的轻量化落地实践

家庭影音平台本质是本地化内容调度中枢,其核心在于聚合NAS媒体库、统一管理直播/IPTV/音频/视频等多源内容,并通过智能元数据匹配与硬解加速实现零门槛播放体验。技术原理上依赖Java轻量Web容器(Jetty)、SQLite嵌入式数据库双缓存架构,以及宿主机FFmpeg动态链接与HTTP/2直播代理治理能力。该方案显著降低4K播放卡顿、EPG加载失败、海报缺失等高频问题,适用于群晖、飞牛、绿联等主流NAS设备,尤其适配ARM64芯片与Realtek网卡等国产硬件生态。本文聚焦Omnibox 2.11在真实

weixin_30846347的博客 471

能量机关 STM32HAL库开发大疆A板WS2812B彩灯(PWM+DMA)

本文主要目的是为了制作RoboMaster比赛能量机关的灯条控制,模拟比赛场中大符,搭建出类似场地道具,以供视觉测试 使用的是RoboMaster开发板A型,芯片为STM32F427IIH6,使用的灯条为WS2812B。 采用PWM+DMA控制,使用CUBEMX配置底层,keil5编辑烧录代码 实现:一共五片扇叶,每片扇叶均实现流水灯+常亮颜色 参考文章在后面会标记出来

m0_51756449的博客 4292

SERVICE_STATUS_PROCESS

SERVICE_STATUS_PROCESSThe SERVICE_STATUS_PROCESS structure contains information about a service. The EnumServicesStatusEx and QueryServiceStatusEx functions use this structure to return information ab

小发猫 2096

C语言——利用矩阵LU分解法求逆、行列式

本章介绍了LU分解法,以及如何利用LU分解法求逆、行列式,针对每个公式、原理、代码进行了详细介绍,希望可以给大家带来帮助。

王元笙 1万+

QueryServiceStatus

QueryServiceStatusThe QueryServiceStatus function retrieves the current status of the specified service.This function has been superseded by the QueryServiceStatusEx function. QueryServiceStatusEx ret

小发猫 2009

影刀RPA之成绩批量查询系统

自动化登录账号,读取数据表中内容去填写信息去查询,并判断多个数据不同的页面去不同的读取查询结果内容,如考生各项信息与各科成绩,总分和查询时间,采集出来到指定的数据表格中,等待时间并依次循环运行。主要功能。

2201_75330891的博客 1085

从T型结到Wilkinson:5分钟搞懂功分器选型指南(附最新射频测试数据对比)

本文通过对比T型结、电阻型和Wilkinson三种功分器的核心原理与实测数据,提供了清晰的射频功分器选型指南。文章结合最新的2.4GHz ISM频段测试数据,分析了插入损耗、回波损耗和端口隔离度等关键指标,并针对窄带物联网、射频测试及合成系统等不同应用场景,给出了具体的选型建议和实战提醒,帮助工程师根据系统需求做出最优决策。

bush的博客 305

Starting a Service

Starting a ServiceTo start a service, the following example opens a handle to an installed database and then specifies the handle in a call to the StartService function. It can be used to start either

小发猫 1262

告别手动发日报!用n8n+钉钉打造智能报告机器人(含模板下载)

本文详细介绍了如何利用n8n开源工作流自动化平台与钉钉机器人搭建智能日报系统,实现数据自动采集、处理和发送。通过实战步骤和模板下载,帮助用户告别手动处理日报的繁琐,提升工作效率和数据准确性。

h3i4j的博客 859

c++检测windows服务程序状态

window服务状态检测

lihao123456的专栏 3250

FAST-LIVO2 源码精读(十六):接入自定义传感器——多雷达适配与内外参标定

本文是「FAST-LIVO2 激光-惯性-视觉里程计源码精读」专栏第十六篇。上一篇拆解了中每个关键参数的物理含义与调参路径,并反复强调外参RclPcl与时间偏移配错即全局失效;本篇承接这一悬念,回答更前置的工程问题——如何把 FAST-LIVO2 接到一套全新硬件上:新雷达如何通过的类型分支适配、相机内参与畸变模型如何配置、两组外参与时间偏移如何标定出来并填入 YAML,最后给出一份落地检查清单。

PX4-SLAM-PNC 199

一篇文章带你认识 SpringBoot

文章目录一、原有 Spring 优缺点分析二、SpringBoot 的概述 一、原有 Spring 优缺点分析 (1)Spring 的优点分析 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的 Java 对象(Plain Old Java Object,POJO)实现了EJB的功能。

南淮北安的博客 766

QT开启服务

如何使用QT来开启一个服务呢? 新建一个QT工程,添加如下代码: #include <windows.h> #include <string> /******************************************* * 函数:StartServiceExistByName * 参数:strDestServiceName * 功能:判断服务状态并启动 * 返回值: * TRUE 服务启动成功 * FALSE 服务启动失败 ******************

Tracytang97的博客 1692

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C++ 检查Windows服务运行状态

检查Windows服务运行状态 C++ Code 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384...

weixin_30836759的博客 583

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Windows API总结记录

最近工作总是遇到Windows API调用的老代码,这篇文章用来记录一下。 1、与服务相关的一些Windows API #include &lt;Pdh.h&gt; #pragma comment(lib, "Pdh.lib") #include &lt;Psapi.h&gt; #pragma comment(lib, "Psapi.lib") #include &lt;iostream&...

聆听风雨的博客 698

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

window监控服务器的文件变化,如何在Windows XP下监控Windows服务的状态变化?

看起来你在XP中最接近的是QueryServiceStatusEx(单一服务)或EnumServicesStatusEx(多种服务).为避免重复调用其中任何一个,有人建议使用WMI设置,查询Win32_Service的state属性.有关详细信息,请参见this thread的底部.以下是监视警报器服务状态的(基本)WMI脚本:strComputer = "."Set objSWbemServic...

weixin_28267011的博客 493

api控制系统服务

SC_HANDLEsc=OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);//服务控制器//获得服务状态DWORDget_srvst(SC_HANDLEsc){SC_HANDLEschService;if(NULL==sc)printf("OpenSCManagerfailed(%d)\n",GetLastE...

weixin_30244889的博客 114

2-Windows服务之相关API说明

它将等待一个服务完成对服务控制通知的处理,然后再发送下一个服务控制通知。在32位机器上,如果设置了服务依赖(例如:lpDependencies参数设置为Tcpip),则lpLoadOrderGroup参数不能设置为NULL,而需要设置为“”空字符串,否则函数会报错,GetLastError()返回1059(指定了循环服务依赖关系),原因未知。ControlService函数要求SCM发送指定的控制码给服务,如果服务已指定将接受代码,并且处于可以向其发送控制码的状态,则SCM将发送指定的控制码。

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值