【发布时间】:2011-03-10 21:03:30
【问题描述】:
我有一个 Java 程序,我需要从该 Java 程序中创建一个 Windows 服务。我想基本运行命令行
sc create \"" + serviceName + "\" binPath= \"" + batFile + "\" start= auto
但是,当我在 Java 中运行此进程时,我得到一个错误
[SC] OpenSCManager FAILED 5:
Access is denied.
如果用户是管理员,这个命令可以正常工作,但是我的这个 Java 程序的用户将不是管理员。在没有管理员权限的用户的情况下,如何在 Java 中(或通过运行外部程序)创建 Windows 服务?
编辑:显然这是不可能的。除了通过 Windows 服务之外,Windows 中还有其他方法可以在机器启动时执行程序吗?
【问题讨论】:
-
显然这是不可能的。除了通过 Windows 服务之外,Windows 中还有其他方法可以在机器启动时执行程序吗? 是的,您可以将程序添加到:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run,您需要一些 .reg 文件,或多或少您是完毕。 (忘记了:regedit /S不会提示,即静默) -
@bestsss:在没有管理员权限的情况下,你究竟是如何修改windows注册表的?
-
@bestsss:不管用户是否登录,这些进程也会运行吗?
-
不,当然;您需要管理员/高级用户来处理这些内容,每个用户都可以修改自己的注册表,HKEY_CURRENT_USER... 任何人都可以修改,这就是重点。但是每个用户都有一个实例
标签: java windows-services