我正在使用'reparenting‘将一个windows应用程序嵌入到我的SWT应用程序中。这部分工作正常。现在,我想将我的SWT应用程序挂接到消息队列中,以便嵌入式应用程序接收鼠标移动事件。
我看到SWT中的OS类有许多用于添加钩子的有趣方法,但我还不知道如何使用它们。
有人能帮上忙吗?
谢谢
发布于 2009-06-03 03:42:54
这应该是可行的,但它依赖于使用反射来调用非API,因此使用它的风险自负。
使用反射使Display.addControl()和Display.removeControl()可访问。然后,使用它将Windows应用程序的HWND和所属控件添加到显示对象。现在,当鼠标移动事件被发送到嵌入式应用程序时,相应的控件应该会获得鼠标移动事件。
另外,你应该在owning Control上添加一个DisposeListener并调用removeControl(),这样事件就不会被发送到死掉的HWND。
https://stackoverflow.com/questions/834771
复制相似问题