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

我可以使用Java SWT应用程序作为Activex主机吗?,java,activex,swt,Java,Activex,Swt,我知道这可能是一个有点奇怪的问题,但让我先解释一下背后的想法。 我有一个win32应用程序公开了一个Activex主机,这为我提供了以下有用的功能: 通过Internet Explorer嵌入并调用它,作为使用javascript传递/返回值的简单方法 Embed,并从任何类似于Visual Basic、C++、Delphi等语言的Win32应用程序调用它,甚至可以从Excel和Word等的MS Office产品中调用它。 我被要求将此应用程序迁移到Java SWT,但我不知道是否可以在不

我知道这可能是一个有点奇怪的问题,但让我先解释一下背后的想法。 我有一个win32应用程序公开了一个Activex主机,这为我提供了以下有用的功能:

  • 通过Internet Explorer嵌入并调用它,作为使用javascript传递/返回值的简单方法
  • <> Embed,并从任何类似于Visual Basic、C++、Delphi等语言的Win32应用程序调用它,甚至可以从Excel和Word等的MS Office产品中调用它。
我被要求将此应用程序迁移到Java SWT,但我不知道是否可以在不丢失上述功能的情况下完成,唯一的方法是将应用程序本身作为Activex主机公开,这可能吗


非常感谢。

我没有使用ActiveX的经验,但在SWT主页上有一个。尝试检查它们。

如果您将应用程序迁移到Java SWT,那么您将失去在IE和其他基于COM或ActivX技术的MS产品中使用的所需功能。虽然有一个简单的方法是使用一些双向的COM代理,比如

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

  • org.eclipse.swt.browser.IE
    --允许以swt浏览器控件的形式访问IE ActiveX组件
  • org.eclipse.compare.internal.win32.WordComparison
    这是eclipse文件差异插件的一部分。该类编写得非常好,并提供了一个COM风格的片段,用于区分两个MS word文件
  • 通过这种方式,无论出于何种目的,我都可以保持activex的完整性


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

    是的,我知道,有很多库可以从java调用COM对象,但我需要做的是将java应用程序公开为activex类,目前我想我可以使用activex桥为JavaBean实现这一点,但谁知道这是否可以在整个java应用程序中实现呢。