ComfyJ 使用方法
ComfyJ 是一款双向 Java-COM 桥接工具,用于提供 COM 到 Java 和 Java 到 COM 的交互连接。通过它,您可以在 Java 程序中整合任意 COM/OLE/OCX/ActiveX 库,以及将 Java 对象运行为 COM 对象。而完成这些操作,您只需要编写纯 Java 语言便可,无需其他语言。
具体功能:
封装所有的标准的 COM 接口,比如 IUnknown, IDispatch 等
支持标准的 COM 类型,比如 Variant, SafeArray (一维或多维数组)、 BStr 等
支持 VTBL 方法调用机制,您可以使用函数标识来调用 COM 对象方法
通过自动支持,您可以完成:
使用动态方法调用技术,您可调用任意的 COM 对象的方法
获取某个 COM 对象的任意属性,包括标识号和名称
设置 COM 对象属性
支持 COM 事件。您可以采用标准的 COM 技术 (findConnectionPoint/advise) ,创建一个 Java COM 事件来管理和连接一个 COM 对象
在 Swing 程序中嵌入任意的 OLE/OCX/ActiveX 控件。 ComfyJ 提供了一个指定的 OleContainer 类,通过它,您可以完成:
使用 ProgID, CLSID 或者从文件,来嵌入一个对象,同样您也可以将 IOleObject 插入到容器中
内置有多种 OLE/OCX/ActiveX 组件,包括 Internet Explorer, Microsoft Office, Acrobat Reader 文件和多种媒体控件,比如 Windows MediaPlayer, DVD player, QuickTime, ShockwaveFlash 等
为运行状态提供了一个内置的显示组件
通过指定二进制格式,来保存一个内置 OleObject 到文件中,或从文件中加载
支持多种不同类型的显示操作,比如 SHOW, INPLACEACTIVE 等
支持 DCOM , ComfyJ 允许您在远程服务器上创建 COM 对象
代码生成程序。使用该程序,您可以将您的 COM 对象创建为 Java COM 封装包。必要时,生成的类可以编译及打包为单独的 JAR 文件
该桥接方式允许您像 COM 对象一样,执行和操作 Java COM 对象,您只需要编写纯的 Java 语言便可,无需其他语言支持。
IUnknownServer — 为 IUnknown COM 接口的提供运行服务
您所有执行 IUnknown COM 接口的 Java COM 对象都是基于这个类运行的
IDispatchServer — 为 IDispatch COM 接口的提供运行服务
您所有执行 IDispatch COM IUnknown COM 接口的 Java COM 对象都是基于这个类运行的
支持在运行时间创建和注册您的 Java COM 类
该方法广泛应用于 OleContainer 接口的执行和 COM 事件的支持中
支持创建任意的用户 COM 类,并通过特点的专门设计的 “ 服务管理 ” 程序在系统中将其注册为 COM 服务。
使用方法:
1、 comfyj-2.5-win32_64.zip 中:
其中 comfyj-2.5-win32_64.zip comfyj 程序,文档,样例等, license.zip 中是授权文件,授权文件的 有效日期是 2009-2-19 到 2009-3-19 。
2、 将 comfyj-2.5-win32_64.zip 解压到 C:\comfyj 目录如下:
解压后,将 license.zip 包中的授权文件拷贝到 C:\comfyj\bin 目录下。
将操作系统的时间修改为 2009-2-19 到 2009-3-19 中的任意时间。
3、 双击 C:\comfyj\bin 目录下 CodegenForComfyJ.bat
点击下一步,
选择 要调用的组件
选择输出路径和程序包名称。
生成代码
到此 组件代码生成
其中包含了 编译好的 class 和生成的 jar 以及 源码和 api 说明。
4、 新建工程,将需要的 jar 和文件拷贝到工程中,目录结构如下:
其中 bin 目录下的文件也可以放到工程资源文件夹中。
其中 comSamole.dll 为要调用的组件。在工程中编译之后 在 classes 目录下需要在操作系统中注册。
5、 注册之后就可以直接使用 java 调用组件了。
如:
6、 最后 替换永久有效的 授权问题。