【问题标题】:Open new process from a java application which is started by a windows service从由 Windows 服务启动的 Java 应用程序打开新进程
【发布时间】:2012-05-09 12:31:54
【问题描述】:

我有一个 java 应用程序,它使用 Runtime.getRuntime().exec() 打开 notepad.exe。

我想将此应用程序作为 Windows 服务运行。所以我使用 C# 创建了一个 Windows 服务。

我可以使用“installutil”命令成功安装该服务。

但是虽然我的 java 应用程序由 windows 服务正常启动,但它并没有打开 notepad.exe。

我认为问题在于该服务作为 SYSTEM 进程运行,而不是作为当前登录用户运行。因此,我通过在 installutil 命令中提供用户凭据,在当前用户下安装了该服务。

然后服务和java应用程序在当前用户下正确启动,我可以看到notepad.exe也在同一个用户下创建。但记事本不可见。

谁能指导一下这里发生了什么。

谢谢

【问题讨论】:

    标签: c# java


    【解决方案1】:

    听起来好像是在另一个环境中开始的。

    在服务选项中尝试选中“本地系统帐户”单选按钮,然后选中“允许服务与桌面交互”复选框。

    【讨论】:

    • 感谢您的建议。但它在 cmd 提示符下显示了我的 java 应用程序。
    • 它会弹出一个“交互式服务检测”消息框并告诉“在这台计算机上运行的程序正在尝试显示一条消息”,一旦单击查看消息,它就会显示我的 java 应用程序正在运行一个控制台。
    • @Kelum 很高兴听到你把它整理出来 :) 祝你好运
    • 其实我找到了问题的原因。但问题仍然存在 :) 我必须寻找其他方式 :) 感谢 anima 的帮助。
    猜你喜欢
    • 2011-05-22
    • 2011-04-04
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多