如何使用Java RMI从Windows服务控制桌面窗口?

问题描述:

我有我目前使用的Java服务包装来包装我的Java程序到Windows服务这一> Using Java Service Wrapper GUI to interact with desktop on windows如何使用Java RMI从Windows服务控制桌面窗口?

同样的问题。它需要获得一个开放的窗口并控制它(即按下按钮)。

我已经使它成为一个交互式服务,甚至作为管理员用户安装它,但仍然没有成功。

我正在使用JNA库来获取Windows实例,如果它作为服务运行时总是返回空值,但手动触发时会成功。

hWnd = User32.INSTANCE.FindWindow(0, targetWindowTitle); 

该线程的一条评论说,它需要使用Java RMI。我们有关于如何做的例子吗? 谢谢!

+0

他们的意思是,如果交互式用户启动一个Java GUI应用程序,它包括一个RMI服务,作为服务运行,可以连接到Java程序它并发送命令。或相反亦然。 – erickson

+0

因此,我不可能运行Windows服务>使此服务与打开的Windows进行交互? – CorporateSlave

+0

否。如果交互式用户运行助手应用程序,则可以执行此操作。 – erickson

恐怕出于安全原因是不可能的。

看看Java服务包装wrapper.ntservice.interactive财产文档在https://wrapper.tanukisoftware.com/doc/english/prop-ntservice-interactive.html