如何使用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。我们有关于如何做的例子吗? 谢谢!
答
恐怕出于安全原因是不可能的。
看看Java服务包装wrapper.ntservice.interactive
财产文档在https://wrapper.tanukisoftware.com/doc/english/prop-ntservice-interactive.html
他们的意思是,如果交互式用户启动一个Java GUI应用程序,它包括一个RMI服务,作为服务运行,可以连接到Java程序它并发送命令。或相反亦然。 – erickson
因此,我不可能运行Windows服务>使此服务与打开的Windows进行交互? – CorporateSlave
否。如果交互式用户运行助手应用程序,则可以执行此操作。 – erickson