C# 制作Com组件:java调用.net DLL的方法
本文将详细为大家介绍一个java调用.net DLL的方法,以实现特殊的客户的特殊要求:“在Java项目中必须使用其提供的用.net写的DLL加密机制!”
环境与工具:
◆.net framework 3.5 C#
◆java jdk1.5, Tomcat 5.5
◆jacob-1.15-M3
实现例子:
一、C# 制作Com组件
新建一个Class 项目,取名TestCom
代码
using System; using System.Collections.Generic; |
打开 Project--> Properties菜单 在Application标签中打开 Assembly Information 将Make assembly Com-Visible一项选中。再切换到Build标签将 Register for COM interop一项选中。
Guid的生成:打开Visual Studio Command Prompt 输入guidgen 命令调出工具。类型选择Registry Format,点击New Guid,然后COPY出来。
[DispId(1)]为函数的标识。如果有多个函数可相应的在函数前面加[DispId(2)], [DispId(3)]…
编译程序Debug目录中会生成 TestCom.dll 和TestCom.tlb
手工注册Com方法:
打开Visual Studio Command Prompt进入Debug目录,运行命令注册:regasm TestCom.DLL /tlb:TestCom.tlb
二、Java调用Com
部署jacob
◆在开发环境中引入jacob.jar
◆拷贝jacob-1.15-M3-x86.dll 文件到 C:\Windows\System32目录,如果是Web应用的话还需要拷贝到jdk1.5.0_16\bin目录(jdk安装目录下的bin目录)
java调用代码
代码
import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; import com.jacob.com.Variant; public class test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { ActiveXComponent dotnetCom = null; dotnetCom = new ActiveXComponent("TestCom.Encrypt"); Variant var = Dispatch.call(dotnetCom, "GetEncrypt","哥是第一个参数","哥是第二个参数"); String str = var.toString(); //返回值 } catch (Exception ex) { ex.printStackTrace(); } } } |
这便完成了Java调用.net DLL的方法!
转载于:https://www.cnblogs.com/bihailantian/archive/2010/09/25/1834656.html
C# 制作Com组件:java调用.net DLL的方法相关推荐
- java调用C++ DLL库方法
转载地址: https://www.cnblogs.com/xiaocainiao2hao/p/5619862.html 最近一个项目要开发网页端人脸识别项目,人脸识别的算法已经写好,是C++版,但是 ...
- Java调用第三方dll
刚接触Java几天,项目需要,使用Java调用can卡的dll,发现网上的帖子有很多不明确的地方,特此写之. 首先安装开发环境,考虑到兼容性,安装的JDK和eclipse都是32位的,正常安装结束后, ...
- Java调用C++程序实现方法
Java调用C++程序实现方法(1) 这篇博文是自己在学习过程中,踩了很多坑之后,为了避免广大热爱编程的盆友再像我这样浪费太多时间,索性将自己的实现方法总结出来,以供大家参考.程序最终实现的是Hell ...
- eclipse java调用c 代码吗_linux下通过eclipse开发用java调用c程序的方法
linux下通过eclipse开发用java调用c程序的方法: 1.先建立好java工程并建立java文件如下: public class testso { static { ...
- C# 使用DllImport 调用 native DLL的方法
若要声明一个方法使其具有来自 DLL 导出的实现,请执行下列操作: 使用 C# 关键字 static 和 extern 声明方法. 将 DllImport 属性附加到该方法.DllImport 属性允 ...
- java调用接口实现的方法_java调用接口的实现方法
java调用接口的实现方法 发布时间:2020-06-29 11:08:46 来源:亿速云 阅读:78 作者:Leah 本篇文章给大家分享的是有关java调用接口的实现方法,小编觉得挺实用的,因此分享 ...
- window与linux环境下,java调用c语言的方法
windows环境下,java调用c语言的方法 1.环境 C语言编译器:工具比较多,本文使用的是gcc,带gcc的软件业比较丰富,我使用的是TDM-GCC, 注:网上很多使用的是MinGW,但我遇到了 ...
- Java调用R脚本的方法总结
0 前言 R是一种非常方便易用的绘图.统计分析.ML算法设计方面的脚本语言.实际中有这样一种场景:算法工程师用R搭建了机器学习算法模型,想用于javaweb之中但是又不想重新用java写一遍算法模型, ...
- java调用c dll,指针参数和结构体参数搞定
基于上两篇java调用dll的文章,我做了更为复杂的参数传递,指针变量和结构体变量,下面给出源码 vc++中的工程名称是SMSXIAO Source Files(源文件):.c文件名:sms.c 源码 ...
最新文章
- 【转载】在对话框中加入属性页
- codeblocks c++ 编译出错
- 开发时对业务技术框架的理解
- Vue 2017 现状与展望 | 视频+PPT+速记快速回顾
- Metro风格的Java组合框(JMetro)–重新介绍
- 豆瓣评分 9.4 的编程巨著!《算法》
- Flutter中ListView加载图片数据的优化
- Linux下如何发现内存泄漏问题(测试角度)
- Windows下JetBrains CLion的pthread使用配置
- springBoot+Mybatis注解大全
- MyBatis-3.4.2-源码分析12:XML解析之mapperElement(root.evalNode(mappers))
- 【Knowledge Fragment】
- sccm数据库远程服务器,SCCM 2007 R2部署之连接远程SQL Server模式
- Mac下的Kali虚拟机的安装
- Springboot与手机的互动
- 【Cxinny】数据结构与算法
- WAPI产业联盟:中国两项近场通信NFC安全技术成国际标准
- subline修改html模板,sublime Text 3 emmet自定义HTML模板的方法
- 官僚、傲慢、冷漠的腾讯开放平台
- Linux终端设备解析
热门文章
- 为什么销售员贷款比较难?
- 收入和贷款有什么关系?
- 程序员们请别做下一个小贝
- 金叉成功率_技巧!三分钟教会你识别macd真假金叉,让你精准把握买卖点!
- python代码书写_Python代码的优雅写法,让代码更简洁
- 惠普图形计算机游戏,惠普发布Victus by HP 16 - 一款适合PC游戏新人的游戏笔记本...
- java贪吃蛇_如何用Java还原童年回忆?在线教你完成贪吃蛇小游戏
- 算法实践--最小生成树(Kruskal算法)
- 内嵌Tomcat的Connector对象的静态代码块
- 解决 用户'sa'登录失败。错误:18456 问题