html 调用com组件,实验三:COM组件和调用

本文详细描述了如何在C#中创建一个COM组件并实现字符串加密解密功能,然后通过Java调用此组件。涉及步骤包括创建C# COM组件、配置、生成Java调用代码,以及解决兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验准备

二、实验目标

构建一个com组件,该组件可以对一个字符串数组进行加密和解密;(加/解密算法自己定义,或者调用调用其他的库)

三、实验设计与实现过程

一、利用C#创建一个com组件

1.1用Visual studio2017创建一个工程

bf6841ccd2d5

image.png

1.2在“解决方案资源管理器”里面重命名.cs文件为comtojava.cs

bf6841ccd2d5

image.png

1.3工程属性设置

bf6841ccd2d5

image.png

点击“应用程序-程序集信息”,勾选“使程序集COM可见”

bf6841ccd2d5

image.png

点击“生成”,勾选“为COM互操作注册”

bf6841ccd2d5

image.png

点击"签名",勾选为程序集签名,并新建

bf6841ccd2d5

image.png

在新建的窗口中输入密钥名,并取消勾选“使用密码保护密钥文件”

bf6841ccd2d5

image.png

1.3在ComToJava.cs中输入代码,进行对字符串的加密和解密

bf6841ccd2d5

image.png

bf6841ccd2d5

image.png

1.4生成两个新的Guid,替换程序代码中的Guid

点击“工具-创建GUID”

bf6841ccd2d5

image.png

1.5生成解决方案

bf6841ccd2d5

image.png

bf6841ccd2d5

image.png

二、利用java调用组件

2.1注册COM组件至系统

运行visual studio开发人员命令符(以管理员身份运行)

cd到ComToJava.dll所在的路径下(即Visual studio工程下的bin-Debug下)

bf6841ccd2d5

image.png

执行:gacutil /i ComToJava.dll 添加dll至全局缓存

执行:regasm ComToJava.dll 注册dll至系统

bf6841ccd2d5

image.png

运行regedit查看注册表

bf6841ccd2d5

image.png

将附件jacob-1.19文件夹里的jacob-1.19-x64.dll放到目录C:\Windows\System32下

将附件jacob-1.19文件夹里的jacob-1.19-x86.dll放到目录C:\Windows\SysWOW64下

2.2用IDEA打开ComToJava工程

bf6841ccd2d5

image.png

2.3导入jacob.jar

bf6841ccd2d5

image.png

2.4配置jdk

bf6841ccd2d5

image.png

2.5修改代码中的相应参数,运行程序(设置加密字符串和解密字符串)

bf6841ccd2d5

image.png

运行程序,得到结果

bf6841ccd2d5

image.png

3、总结与分析

bf6841ccd2d5

image.png

只c#调用com生产解决方案的时候,出现Java无法调用的问题。

后来发现是生成解决方案时候出现了问题。

bf6841ccd2d5

image.png

解决方案:以管理员身份运行visual studio,重新生成解决方案解决了这一问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值