国产免费资源_免费中文字幕视频_国产乱xxxxx97国语对白_成人免费高清视频_com毛片_天堂网在线播放_欧美精品网站_亚洲 丝袜 制服 欧美 另类_国产免费无码一区二区_久久高清免费视频

在線客服:  

「南寧煙寒網絡」提供南寧網站建設、網站策劃、南寧網頁制作、網站設計、網站改版、南寧SEO優化、網站維護、南寧網站優化、南寧網站推廣、廣告設計等服務..

咨詢熱線

在線客服

24小時免費咨詢電話:18978941786

客服時間:上午9:30~下午6點

當前位置:首頁>> 技術文章 >> Web開發 >> NET開發COM組件

NET開發COM組件

收藏 分享 發布日期:2012-2-12 16:30:42    編輯:admin  文章來源:  點擊率:

本文將詳細為大家介紹一個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; 
using System.Linq;  using System.Text; 
using System.Runtime.InteropServices;  
namespace TestCom 
{      [Guid("E9BCF867-CD81-40d0-9591-ED28D1ED2B53")]     
public interface IEncrypt     
{          [DispId(1)]          
string GetEncrypt(string str,string str2);     
}     
[Guid("33A6E58D-E1F5-4b53-B2E2-03B9F8BA2FAD"),
ClassInterface(ClassInterfaceType.None)]     
public class Encrypt:IEncrypt     
{          public Encrypt(){}          
public string GetEncrypt(string str,string str2)         
{                           
return  "測試 | "+str+"|"+str2;         
}     

}

打開 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的方法!

本文章由南寧網站建設南寧網站優化南寧網絡公司整理,轉載請注明出處:http://www.yu-168.cn/

關于我們 | 域名主機 | 建站套餐 | 企業動態 | 成功案例 | 網站推廣 | 建站知識 | 常見問題 | 聯系我們

南寧煙寒網絡竭誠為您免費提供南寧網站建設南寧網站設計南寧網站優化、維護以及網站技術很方面的網絡服務!

南寧網站建設南寧網絡公司咨詢熱線電話:0771-5306126 18967841786(24小時全天電話)

煙寒網絡 - 讓你進一步走向成功

主站蜘蛛池模板: 客服| 九台市| 虞城县| 闽侯县| 遵化市| 安宁市| 抚顺县| 南陵县| 东山县| 广昌县| 斗六市| 尼勒克县| 鹰潭市| 墨竹工卡县| 静乐县| 莆田市| 观塘区| 晋江市| 元江| 财经| 那坡县| 麻江县| 交城县| 濮阳县| 华坪县| 邹城市| 贵港市| 磴口县| 武夷山市| 十堰市| 南雄市| 临清市| 读书| 卫辉市| 秦皇岛市| 九寨沟县| 永靖县| 勐海县| 育儿| 育儿| 潞西市|