Tag: hook

Java / SWT:如何从嵌入式窗口接收鼠标事件

我正在使用’reparenting’将Windows应用程序嵌入到我的SWT应用程序中。 那部分工作正常。 我现在想将我的SWT应用程序挂钩到嵌入式应用程序的消息队列中以接收鼠标移动事件。 我看到SWT中的操作系统类有许多有趣的方法来添加钩子,但我还是无法弄清楚如何使用它们。 有人可以帮忙吗? 谢谢

关闭捕获全局输入事件的钩子

介绍 这是一个说明问题的例子。 考虑我正在跟踪并显示鼠标全局当前位置和最后点击按钮并定位给用户。 这是一张图片: 要在Windows框中存档捕获点击事件,将会发送到其他程序事件消息队列,我使用winapi即user32.dll库创建一个钩子。 这是在JDK沙箱之外,所以我使用JNA来调用本机库。 这一切都很完美,但它没有像我期望的那样关闭。 我的问题是 – 如何正确关闭以下示例程序? 示例来源 下面的代码不是由我完整编写的,而是在Oracle论坛中从这个问题中获取并部分修复。 import java.awt.AWTException; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.GridLayout; import java.awt.MouseInfo; import java.awt.Point; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JLabel; import com.sun.jna.Native; import com.sun.jna.NativeLong; import com.sun.jna.Platform; import com.sun.jna.Structure; import com.sun.jna.platform.win32.BaseTSD.ULONG_PTR; import com.sun.jna.platform.win32.Kernel32; import com.sun.jna.platform.win32.User32; import com.sun.jna.platform.win32.WinDef.HWND; import com.sun.jna.platform.win32.WinDef.LRESULT; import com.sun.jna.platform.win32.WinDef.WPARAM; import com.sun.jna.platform.win32.WinUser.HHOOK; import […]