将SWT Composite嵌入到C#应用程序中

时间:2015-02-20 22:49:00

标签: java c# swt ole

我有一个使用SWT作为其widget工具包的Java应用程序。

我还有一个Windows C#应用程序。

我想要一种方法将SWT Composite绘制到这个C#应用程序中。

我可以想到两种方法:

  • 句柄:由于SWT基于本机窗口工具包,似乎应该有一种在C#应用程序中创建Composite的方法,将本机指针传递给Java应用程序,然后从那里控制Composite。

  • OLE:由于SWT肯定可以使用OLE组件,也许它还有一种方法可以将自己呈现为OLE组件?

任何人都有关于如何实现这一目标的任何提示?我并不害怕Java和C#在启动时之间的复杂通信,但我真的希望能够在设置后无缝地从Java控制Composite。

1 个答案:

答案 0 :(得分:1)

要将SWT组合放入winform中,可以在新进程中启动SWT应用程序,然后使用Process.MainWindowHandle获取子进程窗口句柄。

article提供了合并其他流程的示例。

This link是winform中winT的一个特定解决方案,winform中的winform(更改流程开始...)。

在解决方案中,我还演示了通过std-in / out在进程之间进行通信的方法。(有很多问题)

提示: 存储库中的代码不是生产代码! (C#和Java)

我只是想提供一个演示。当我有时间时,我会重构代码...