我可以将Java SWT应用程序用作Activex主机吗?

时间:2011-09-27 21:54:35

标签: java activex swt

我知道这可能是一个奇怪的问题,但让我先解释它背后的想法。 我有一个win32应用程序暴露了一个Activex主机,这给了我以下有用的功能:

  • 从Internet Explorer嵌入并调用它作为一个简单的方法,使用javascript传递/返回它的值。
  • 从使用visual basic,c ++,delphi等语言制作的任何win32应用程序中嵌入并调用它。即使我可以从excel和word等MS office产品中调用它。

我被要求将此应用程序迁移到Java SWT,但我不知道是否可以在不丢失上述功能的情况下完成,唯一的方法可能是将应用程序本身作为Activex主机公开,这是否可行?

非常感谢。

2 个答案:

答案 0 :(得分:1)

我没有使用ActiveX的经验,但在SWT主页上有lot of examples are in snippets folder。试着检查一下..

答案 1 :(得分:1)

如果您将应用程序迁移到Java SWT,那么将失去在IE中以及基于COM或ActivX技术的其他MS产品中使用的所需功能。虽然一种粗略的方法可能是使用某些双向COM代理,如Jacob

如果给出了选择,那么我将利用SWT对COM的内置支持,并尝试将您的activex组件嵌入到我的swt应用程序中。例如,您可以查看:

  1. org.eclipse.swt.browser.IE - 允许以SWT浏览器控件的形式访问IE ActiveX组件。
  2. org.eclipse.compare.internal.win32.WordComparison这是eclipse的文件差异插件的一部分。这个类编写得非常好,并提供了一个COM风格的片段,可以区分两个MS文件。
  3. 通过这种方式,我可以将activex保持原样用于任何目的。

    有关于在不使用任何第三方COM桥的情况下向swt添加activex支持的this文章