使用JNA和windows sendMessage API从基于java的web应用程序更改windows xp中的聚焦窗口

使用JNA和windows sendMessage API从基于java的web应用程序更改windows xp中的聚焦窗口,java,jakarta-ee,windows-xp,jna,sendmessage,Java,Jakarta Ee,Windows Xp,Jna,Sendmessage,我想知道是否有人有使用JNA从浏览器中运行的java web应用程序调用windows sendMessage API的经验,以将焦点从浏览器更改为计算机上已经运行的另一个程序 我正在建立一个零件目录,一旦用户选择了他们想要出售给客户的零件,我需要自动打开销售点系统,以便员工可以提交交易。他们希望在零件目录中的某个事件上发生这种情况,而不仅仅是ALT选项卡或类似的事件。我相信这些寄存器运行的是某种类型的信息亭版本的XP和浏览器(可能是Firefox 5),所以一些功能,如任务栏和开始菜单等都不存

我想知道是否有人有使用JNA从浏览器中运行的java web应用程序调用windows sendMessage API的经验,以将焦点从浏览器更改为计算机上已经运行的另一个程序


我正在建立一个零件目录,一旦用户选择了他们想要出售给客户的零件,我需要自动打开销售点系统,以便员工可以提交交易。他们希望在零件目录中的某个事件上发生这种情况,而不仅仅是ALT选项卡或类似的事件。我相信这些寄存器运行的是某种类型的信息亭版本的XP和浏览器(可能是Firefox 5),所以一些功能,如任务栏和开始菜单等都不存在。也许JNA和windows API是完全错误的方式。任何帮助或指导都将不胜感激

一个简单的方法是枚举现有的窗口,直到找到要查找的窗口,然后调用相应的win32方法直接激活/聚焦该窗口。

这不会有沙盒问题吗?我不确定沙盒问题是什么意思?如果我能想出一个办法让它工作的话,这肯定有点老套。你能详细解释一下吗。也许可以给我指出一些资源,这些资源可能会给出一些实现的示例?谢谢下面是一个示例,其中win32窗口枚举使用回调。在回调中,确定刚刚传递的窗口是否是您想要的窗口。至于激活/聚焦窗口,在MS-dev上快速搜索应该会向您显示要调用的正确API函数。