1,大概步骤
1) 准备好 DLL文件(32位和64位系统下编译的 有差别, 不能通用)。
2) 装好jdk和eclipse.
3) 下载jacob最新的包(目前是1.7)
4) 将jacob.jar导入到eclipse项目路径, 将jacob-1.17-M2-x64.dll(或者是jacob-1.17-M2-x32.dll)添加到环境变量path.
5) 可以开始.
2. 小例子
1).NET代码
创建InvokeCSharp项目,在InvokeCSharp.cs文件中加如下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace InvokeCSharp
{
[Guid("C41D14FD-F719-41fc-94CD-4B64D19F44B0")]
public interface IExampleClass
{
[DispId(1)]
string HelloJava(string name);
}
[Guid("70FE7452-0D4B-4717-8352-FEB0F6E830C1"),
ClassInterface(ClassInterfaceType.None)]
public class ExampleClass : IExampleClass
{
public ExampleClass() { }
public string HelloJava(string name)
{
return "Java传递过来的参数为: " + name;
}
}
}
2)需要注意的是编译前的配置步骤,主要有以下几步:
1、解决方案资源管理器中右键点击项目名称“InvokeCSharp”,选择属性
2、在“应用程序”页签中,点击“程序集信息”按钮,在弹出的对话框中勾上最后一
个复选框“使程序集COM可见”
3、在“生成”页签中,勾上最后一个复选框“为COM互操作注册”
4、生成“InvokeCSharp”项目
5、在项目的Debug\bin文件夹下会有这样几个文件:一个是InvokeCSharp.dll,另
一个是InvokeCSharp.tlb,这个就是我们要的COM程序
6、最后,注册COM,打开“Visual Studio 命令提示”,进入InvokeCSharp项目
的Debug\bin文件夹,运行“regasmInvokeCSharp.dll /tlb:InvokeCSharp.tlb”,这样就注册了COM,regasm为.NET Framework 工具中的程序集注册工具。注册成功后,每次C#程序有修改,都不再需要重新注册了
3)java 代码
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
import com.sun.xml.internal.ws.resources.DispatchMessages;
public class JavaInvokeCSharpClass {
private final String DLL_NAME = "DLLforVB.ComDLLforVB";
private ActiveXComponent dotnetCom = null;
private Dispatch dispatch = null;
private Variant var = null;
public JavaInvokeCSharpClass() {
dotnetCom = new ActiveXComponent(DLL_NAME);
dispatch = dotnetCom.getObject();
}
public static void main(String[] args) {
try {
JavaInvokeCSharpClass test = new JavaInvokeCSharpClass();
test.var = test.dispatch.call(test.dotnetCom, "ToolGetLocalIP");
String str = test.var.toString();
System.out.println(str);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
http://forzhuhaikuan-sohu-com.iteye.com/blog/1654927
- 浏览: 133936 次
- 性别:
- 来自: 广州
相关推荐
若是下载本地测试需要有修改,包中文件不一定全部用到
java调用ocx控件,jacob,jar和dll文件
Java调用C# dll jacob包类资源.zip
使用JACOB工具调用COM组件 JACOB 就是 JAVA-COM Bridge的缩写,提供... 但是使用JACOB可以先编写COM组件,再在Java中调用,这在许多遗留在系统中COM组件是常用的,因此,使用JACOB对于系统的集成是比较实用的功能。
操作com组件的可以java直接调用vb的dll 或者直接操作word excel等程序
java 通过调用jacob 实现调用windows自带控件 实现文字转语音播放功能!
java 通过jawin 调用dll;
jacob.jar1.20及使用方法 解压后获得3个文件 jacob.jar jacob-1.20-x64.dll jacob-1.20-x86.dll 包含(32位,64位)以及文档 jacob(java com bradge) 通过调用MS OFFICE可以快捷的将word excel ppt等转换为pdf
本视频为自己录制的,莫名奇妙的被csdn删除了N次,真是要命!使用的是jacob方法来使用java语言调用.net的dll文件方法!里面有实例,希望对大家有所帮助!欢迎下载
java调用C#封装的dll方法 关于java调用C# 封装的DLL文件的方法 第一种:java利用JNA进行调用 思路:C#源码生成COM组件(dll和tlb文件),再利用C++进行封装,java通过JNA调用C++封装的DLL。 第二种:java利用jacob...
java通过jacob调用ocx插件,包括配置文档和jacob-1.17-M2.zip包
java的jacob调用OCX java的jacob调用OCX(包含错误的处理)
java操作word之jacob(jacob.dll + jacob.jar),绝对实用
jacob 1.9语音生成文件,jacob x64.dll和jacob.jar 版本为1.9。 jacob.dll放入 C:\Program Files\Java\jdk1.8.0_121\jre\bin jacob.jar通过idea配置到项目dependencies
C++ COM 组件 java + jacob 调用,jacob调用详情请看jacob栏
jacob调用的是vba宏语言 ,代码只包含部分读取功能,若要进行更多操作请查看autocad vba开发手册,
java朗读简单字符串所需的包及dll文件
jacob-1.14.3.dll及使用方法
Java中使用Jacob实现Windows下语音合成并生成音频文件示例代码.rar
利用Jacob库从java调用c# dll的样例程序,实现了从java调用c# dll的简单方案,供大家学习参考。