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

前端之家收集整理的这篇文章主要介绍了如何在不使用sc qc的情况下获取Windows服务可执行文件的路径?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要通过命令提示查询 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.

猜你在找的Windows相关文章