加入收藏 | 设为首页 | 会员中心 | 我要投稿 宜春站长网 (https://www.0795zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

如何在不使用sc qc的情况下获取Windows服务可执行文件的路径?

发布时间:2020-12-31 21:06:26 所属栏目:Windows 来源:网络整理
导读:我需要通过命令提示符查询 Windows服务以获取其可执行文件的路径.我认为我这样做的方式是:sc qc myServiceName,但是当我这样做时,我收到以下错误: [SC] QueryServiceConfig FAILED 122: The data area passed to a system call is too small. [SC] GetServ

我需要通过命令提示符查询 Windows服务以获取其可执行文件的路径.我认为我这样做的方式是:sc qc myServiceName,但是当我这样做时,我收到以下错误:

[SC] QueryServiceConfig FAILED 122:

The data area passed to a system call is too small.

[SC] GetServiceConfig needs 1094 bytes

我认为这意味着sc命令正在将数据结构发送到某个其他库,这个库对于需要返回的数据来说太小了.而不是SC很好地重用更大的数据结构(1094字节),它轰炸出来,并给我这个丑陋的错误信息.谢谢Micro $oft.

那么有办法解决这个错误吗?我只需要可执行文件的路径,但如果需要,将从其他文本中解析出来.

在尝试获取可执行文件的路径很长的服务的详细信息时,我也遇到了这个问题. This discussion包含一个解决方法;您可以将缓冲区大小作为参数传递给sc qc.也就是说,如果你这样做:
sc qc <service name> 5000

“传递给系统调用的数据区域太小”错误消失了.

另见SC QC MSDN页面:

sc [<ServerName>] qc [<ServiceName>] [<BufferSize>]

哪里:

<BufferSize> Specifies the size (in bytes) of the buffer. The default buffer size is 1,024 bytes.

(编辑:宜春站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读