1. 程式人生 > >JavaScript學習筆記之JavaScript調用C#編寫的COM組件

JavaScript學習筆記之JavaScript調用C#編寫的COM組件

nts 註意 int 類名 彈出 互操作 ces sse dll

1、新建一個C#類庫項目:MyCom;

2、修改 Properties 目錄下的 AssemblyInfo.cs(程序集文件) 中的 ComVisible 屬性為 true;

技術分享圖片

3、項目->屬性->生成,勾選 “為COM互操作註冊” ;

技術分享圖片

4、項目->屬性->簽名,勾選 “為程序集簽名” ,在下面的 “選擇強名稱秘鑰文件” 下選擇新建,在彈出的 窗口中的 “秘鑰文件名稱” 添加一個名稱, 然後勾掉 “使用密碼保護秘鑰文件” ;

技術分享圖片

5、然後開始創建類。在創建的類上面要加上兩個屬性:Guid 和 ProgId。Guid可以通過: 工具->創建GUID,新建一個Guid,如下圖。ProgId的值是: 命名空間名字.類名。

註意:要想使用 Guid 和 ProgId,必須要引用他們的命名空間:using System.Runtime.InteropServices;

技術分享圖片

技術分享圖片

6、然後編譯,註冊生成的dll文件,步驟如下:

先打開命令提示符:工具->Visual Studio命令提示,然後使用 regasm命令加dll的全路徑名 註冊dll為COM組件:

技術分享圖片

技術分享圖片

7、註冊成功後,編寫JavaScript腳本調用該COM組件:

其中<object>標簽中的 classid 就是 類名上面的 Guid屬性 的值;

new ActiveXObject("MyCom.Class1") 中的參數 "MyCom.Class1" 就是 類名上面的 ProgId 屬性的值;

技術分享圖片

8、運行結果為:

技術分享圖片

註意:COM組件也就是ActiveX控件,只能在IE瀏覽器上使用,別的瀏覽器用不了。

JavaScript學習筆記之JavaScript調用C#編寫的COM組件