在到达第三方应用程序之前,如何通过Java拦截和修改鼠标事件(x / y坐标,加速度等)?
该应用程序事先已知(如果有帮助,可以使用“java myApp 3rdPartyApp”之类的东西)。请注意,第三方应用程序可能非常耗费资源。
我想我要问的是如何创建一个Java应用程序作为真实鼠标事件和第三方应用程序之间的一层,以便第三方应用程序接收修改后的事件而不是原始事件由OS发送?这甚至可以用Java吗?
答案 0 :(得分:2)
您有2个纯java解决方案。
首先,您可以连接到AWT事件队列并获取所有UI事件:Toolkit.getDefaultToolkit().getSystemEventQueue()
不幸的是,我不确定你是否可以修改这些事件,但你可以阅读它们,你可以模拟事件。
其次,您可以在第三方应用程序上创建透明窗口,您可以捕获所有UI事件,然后使用java.awt.Robot
进行模拟。
请参阅here如何创建透明窗口。我尝试了这种方法,看到它运作良好。