0

我怀疑我很快将需要编写一个“集成”库,该库需要从 Java 调用 Windows 上的 OLE 对象。

我之前已经在 Windows 上完成了 Java 到 C/C++ 的集成(使用 C/C++ 和 JNI)——所以我对等式的这一部分并不陌生。

然而; 我想尝试围绕 OLE 对象编写一个 C/C++ 包装器,以便为项目的该部分提供测试旋转。

所以,一些问题:

  1. 我可以用 VS C++ Express Edition 做 OLE。我相信答案是,“是的,但是你没有 MFC,所以你不能调用 Microsoft OLE 对象(例如 Excel、Word 等)”

  2. 如果我对#1 的假设是正确的,我需要一个“测试”应用程序,它提供一个我可以调用的 OLE 对象——对于一些好的做法有什么建议?

4

2 回答 2

1

目前尚不清楚您是指实际的 OLE(具有就地编辑的嵌入/链接文档)还是只是自动化(调用 Office 应用程序的编程模型)。

无论哪种方式,您都可以使用 Visual C++ Express Edition 执行 OLE,只是不会获得 MFC 的(有点可疑的)优势来帮助您执行此操作。您也不会拥有 ATL,它不像 MFC 那样糟糕,但也不是那么好。

OLE 的问题在于,除非您有某种库可以作为您工作的基础,否则您将不得不编写大量样板代码。你需要参考一些古代文献

至于一个测试应用,为什么不用Word、Excel等呢?

于 2009-03-19T19:01:19.133 回答
1
  1. 是的,您可以使用 VC++ Express 进行 OLE,我建议安装 Windows Platform SDK。您不需要 MFC 即可使用办公应用程序。使用 VC++ Express 2005,您可以安装旧版本的 Platform SDK 2003 R1,其中包括 ATL,它是 COM 功能的便捷包装器。如果您无法安装它,您可以创建自己的包装,请参阅这篇更高级的文章COM in Plain C

  2. 一个众所周知的提供 COM 对象的应用程序是 Internet Explorer,还有 Windows Media Player,并且可以通过 COM 访问 Flash。

你也可以看看Jacob “The JACOB Project: A JAva-COM Bridge”

您可以认为 COM 是构建 OLE 功能的层。

于 2009-03-19T19:03:52.140 回答