如何使用与 system32 不同的工作目录启动 Windows 服务

如何使用与 system32 不同的工作目录启动 Windows 服务

有没有办法在 Windows 上使用(或任何其他工具)启动服务并将其工作目录设置为与(默认目录)sc不同的目录?C:\Windows\system32

我知道我可以在服务的源代码中指定这一点,但我正在寻找一种不涉及修改服务源代码的解决方案。

答案1

服务由名为“服务控制管理器”的应用程序启动。此应用程序位于系统目录中%WinDir%\System32 ,这是其当前工作目录。

当系统服务启动时,它默认继承服务控制管理器的所有属性和服务定义中指定的参数。

不幸的是,当前工作目录不是这些参数之一,正如您在 ChangeServiceConfigA 函数

如果您希望更改服务的当前工作目录,则需要从服务内部进行更改。

相关内容