我有一个 java 应用程序,它使用 Runtime.getRuntime().exec() 打开 notepad.exe。
我想将此应用程序作为 Windows 服务运行。所以我使用 C# 创建了一个 Windows 服务。
我可以使用“installutil”命令成功安装该服务。
但是,尽管我的 java 应用程序由 windows 服务正常启动,但它并没有打开 notepad.exe。
我认为问题在于该服务作为 SYSTEM 进程运行,而不是作为当前登录用户运行。因此,我通过在 installutil 命令中提供用户凭据,在当前用户下安装了该服务。
然后服务和java应用程序在当前用户下正确启动,我可以看到notepad.exe也在同一个用户下创建。但记事本不可见。
任何人都可以指导这里发生的事情。
谢谢