国产高清一区二区在线_免费看肥胖女人做爰高清全过情_日韩少妇高潮抽搐_性生生活大片又黄又_粉嫩蜜臀av国产精品网站_搞黄视频免费_亚洲成a人一区二区三区_屁股翘起来趴好挨c_少妇一夜爽免费看_日本护士高潮大叫

在線客服:  

「南寧煙寒網(wǎng)絡(luò)」提供南寧網(wǎng)站建設(shè)、網(wǎng)站策劃、南寧網(wǎng)頁制作、網(wǎng)站設(shè)計、網(wǎng)站改版、南寧SEO優(yōu)化、網(wǎng)站維護、南寧網(wǎng)站優(yōu)化、南寧網(wǎng)站推廣、廣告設(shè)計等服務(wù)..

咨詢熱線

在線客服

24小時免費咨詢電話:18978941786

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

當(dāng)前位置:首頁>> 技術(shù)文章 >> Web開發(fā) >> NET開發(fā)COM組件

NET開發(fā)COM組件

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

本文將詳細為大家介紹一個java調(diào)用.net DLL的方法,以實現(xiàn)特殊的客戶的特殊要求:“在Java項目中必須使用其提供的用.net寫的DLL加密機制!”

環(huán)境與工具:

◆.net framework 3.5 C#

◆java jdk1.5, Tomcat 5.5

◆jacob-1.15-M3

實現(xiàn)例子:

一、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標(biāo)簽中打開 Assembly Information 將Make assembly Com-Visible一項選中。再切換到Build標(biāo)簽將 Register for COM interop一項選中。

Guid的生成:打開Visual Studio Command Prompt 輸入guidgen 命令調(diào)出工具。類型選擇Registry Format,點擊New Guid,然后COPY出來。

[DispId(1)]為函數(shù)的標(biāo)識。如果有多個函數(shù)可相應(yīng)的在函數(shù)前面加[DispId(2)], [DispId(3)]…

編譯程序Debug目錄中會生成 TestCom.dll 和TestCom.tlb

手工注冊Com方法:

打開Visual Studio Command Prompt進入Debug目錄,運行命令注冊:regasm TestCom.DLL /tlb:TestCom.tlb

二、Java調(diào)用Com

部署jacob

◆在開發(fā)環(huán)境中引入jacob.jar

◆拷貝jacob-1.15-M3-x86.dll 文件到 C:\Windows\System32目錄,如果是Web應(yīng)用的話還需要拷貝到j(luò)dk1.5.0_16\bin目錄(jdk安裝目錄下的bin目錄)

java調(diào)用代碼

代碼

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","哥是第一個參數(shù)","哥是第二個參數(shù)");             
String str  = var.toString(); //返回值             
} catch (Exception ex)
{                 
ex.printStackTrace();             
}     
}  
}

這便完成了Java調(diào)用.net DLL的方法!

本文章由南寧網(wǎng)站建設(shè)、南寧網(wǎng)站優(yōu)化、南寧網(wǎng)絡(luò)公司整理,轉(zhuǎn)載請注明出處:http://m.absorbed3d.com/

關(guān)于我們 | 域名主機 | 建站套餐 | 企業(yè)動態(tài) | 成功案例 | 網(wǎng)站推廣 | 建站知識 | 常見問題 | 聯(lián)系我們

南寧煙寒網(wǎng)絡(luò)竭誠為您免費提供南寧網(wǎng)站建設(shè)、南寧網(wǎng)站設(shè)計、南寧網(wǎng)站優(yōu)化、維護以及網(wǎng)站技術(shù)很方面的網(wǎng)絡(luò)服務(wù)!

南寧網(wǎng)站建設(shè)、南寧網(wǎng)絡(luò)公司咨詢熱線電話:0771-5306126 18967841786(24小時全天電話)

煙寒網(wǎng)絡(luò) - 讓你進一步走向成功