1

我正在使用“reparenting”将 Windows 应用程序嵌入到我的 SWT 应用程序中。那部分工作正常。我现在想将我的 SWT 应用程序挂接到消息队列中,以便嵌入式应用程序接收鼠标移动事件。

我看到 SWT 中的 OS 类有许多有趣的方法来添加钩子,但我还没有弄清楚如何使用它们。

任何人都可以帮忙吗?

谢谢

4

1 回答 1

2

这应该可行,但它依赖于使用反射来调用非 API,因此使用它需要您自担风险。

使用反射使 Display.addControl() 和 Display.removeControl() 可访问。然后,使用它将 Windows 应用程序的 HWND 和拥有控件添加到 Display 对象。现在,当鼠标移动事件被发送到嵌入式应用程序时,相应的控件应该得到一个鼠标移动事件。

为了更好地衡量,您应该在拥有的控件上添加一个 DisposeListener 并调用 removeControl(),这样事件就不会被发送到死 HWND。

于 2009-06-03T03:42:54.410 回答