如何制作自定义Windows服务?

时间:2012-12-13 06:09:04

标签: java windows jar windows-services exe

其实我有一个java程序。返回“Hello World”。我把它转换成了jar文件。之后,我在Windows XP默认sw中使用iexpress将文件类型更改为.exe。

我使用 sc create 命令来创建新服务。我成功创建了Windows服务。但问题是我无法运行它。它抛出以下错误。

enter image description here

此错误不仅适用于此javaservice。

我试图将chrome.exe作为windows服务运行,那次也是同样的错误。

窗户有限制吗?还是我弄错了?期待解决方案。,

提前致谢...

1 个答案:

答案 0 :(得分:4)

您不能只是按任意方式分配任何.exe文件作为服务运行。服务必须使用特定的API函数来与服务控制管理器(SCM)进行交互。这就是您收到错误的原因 - 那些.exe文件没有使用这些API与SCM进行交互。

如果您不是专门为SCM交互编写代码(Java不支持创建Windows服务),那么所有代码​​都不会丢失。在某些情况下(Chrome NOT 是其中之一!),您可以使用单独的包装器来托管非服务应用并代表他们处理SCM交互:

Service wrapper

对于Java应用程序,有一些可用的包装器项目:

Java Service Wrapper

Yet Another Java Service Wrapper

ow2