一厘肮、實驗準備
-
下載或安裝java jdk (1.6或者以上)劈猪;
安裝vs studio 捡需;http://mocom.xmu.edu.cn/home/project/soft/Visual%20Studio/vs_community__2017.exe
熟悉IDEA 或者 eclipse 等開發(fā)環(huán)境愈魏;
查看博客:利用c#生成一個com組件:
https://www.cnblogs.com/591028872-allan/p/7651771.html
查看博客:利用java調(diào)用組件:
https://blog.csdn.net/crab530143383/article/details/17136863
運行給定的例子:Java調(diào)用C#com.rar
二辣之、實驗?zāi)繕?br> 構(gòu)建一個com組件掰伸,該組件可以對一個字符串數(shù)組進行加密和解密;(加/解密算法自己定義怀估,或者調(diào)用調(diào)用其他的庫)
三狮鸭、實驗設(shè)計與實現(xiàn)過程
一、利用C#創(chuàng)建一個com組件
1.1用Visual studio2017創(chuàng)建一個工程
1.2在“解決方案資源管理器”里面重命名.cs文件為comtojava.cs
1.3工程屬性設(shè)置
點擊“應(yīng)用程序-程序集信息”奏夫,勾選“使程序集COM可見”
點擊“生成”怕篷,勾選“為COM互操作注冊”
點擊"簽名",勾選為程序集簽名酗昼,并新建
在新建的窗口中輸入密鑰名廊谓,并取消勾選“使用密碼保護密鑰文件”
1.3在ComToJava.cs中輸入代碼,進行對字符串的加密和解密
1.4生成兩個新的Guid麻削,替換程序代碼中的Guid
點擊“工具-創(chuàng)建GUID”
1.5生成解決方案
二蒸痹、利用java調(diào)用組件
2.1注冊COM組件至系統(tǒng)
運行visual studio開發(fā)人員命令符(以管理員身份運行)
cd到ComToJava.dll所在的路徑下(即Visual studio工程下的bin-Debug下)
執(zhí)行:gacutil /i ComToJava.dll 添加dll至全局緩存
執(zhí)行:regasm ComToJava.dll 注冊dll至系統(tǒng)
運行regedit查看注冊表
將附件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工程
2.3導(dǎo)入jacob.jar
2.4配置jdk
2.5修改代碼中的相應(yīng)參數(shù),運行程序(設(shè)置加密字符串和解密字符串)
運行程序,得到結(jié)果
3呛哟、總結(jié)與分析
只c#調(diào)用com生產(chǎn)解決方案的時候叠荠,出現(xiàn)Java無法調(diào)用的問題。
后來發(fā)現(xiàn)是生成解決方案時候出現(xiàn)了問題扫责。
解決方案:以管理員身份運行visual studio榛鼎,重新生成解決方案解決了這一問題。