JavaScript学习笔记之JavaScript调用C#编写的COM组件
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组件的更多相关文章
- Javascript学习笔记1 javascript的特点
..对于网页而言,Javascript无处不在,对于英语不好的人它简直是噩梦般的存在,但形式所逼,今天开始着手学习!希望自己能坚持下去.从什么地方着手,我的目标是从大处着眼,从应用着眼,不抠细节,反正 ...
- Javascript学习笔记3 Javascript与BOM简介
什么是BOM BOM是browser object model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象 ...
- JavaScript学习笔记(7)——JavaScript语法之函数
函数就是包裹在花括号中的代码块,前面使用了关键词 function: function functionname() { //这里是要执行的代码 } 当调用该函数时,会执行函数内的代码. 可以在某事件 ...
- JavaScript学习笔记(4)——JavaScript语法之变量
一.变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume). 变量必须以字母开头 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做 ...
- JavaScript学习笔记-选择器集合调用方法
<script type="text/javascript"> function uu(namePd) { //判断id var reId = new RegExp(/ ...
- JavaScript学习笔记(12)——JavaScript内置对象
1.Number Javascript只有一种数字类型,可以有小数也可以没有,也可以使用科学计数法. var z=123e-5; // 0.00123 JavaScript 不是类型语言.与许多其他编 ...
- JavaScript学习笔记(6)——JavaScript语法之对象
JavaScript 中的所有事物都是对象:字符串.数字.数组.日期,等等. 在 JavaScript 中,对象是拥有属性和方法的数据. 属性是与对象相关的值. 方法是能够在对象上执行的动作. 提示: ...
- JavaScript学习笔记(5)——JavaScript语法之数据类型
JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型: var x // x 为 undefined var x = 6; // x 为数字 var x = "Bill&q ...
- JavaScript学习笔记(3)——JavaScript与HTML的组合方式
一.JavaScript可以写在HTML页面内部, 可位于 HTML 的 <body> 或 <head> 部分中,或者同时存在于两个部分中. 通常的做法是把函数放入 <h ...
随机推荐
- 【python】关于python中模块导入的总结
precondition:比如我有如下这样的文件目录结构 说明:add和debug两个包都隶属于src目录,它们是同级目录,其中在add路径下有一个add.py的模块,里面定义了一个jiafa()的函 ...
- FastJson遇见的问题或项目实战中优化的问题,看源码都可以解决
1:感觉见鬼了一般存储JSONObject中的字段竟然不见了? JSONObject object=new JSONObject(); Map fields = new HashMap(); fiel ...
- 如何用IDEA http://localhost:8080/不带上项目名访问
IDEA TOMCAT设置中把这里的项目名去掉即可
- 1 TCP/IP通信
重点参考长链接http://blog.csdn.net/fengyuzhengfan/article/details/38830115 http://blog.csdn.net/Jsagacity/a ...
- Null和undefined的区别?
(1)null是一个表示”无”的对象,转我数值是为0,undefined是一个表示”无”的原始值,转为数值时为NaN.当声明的变量还未被初始化时,能量的默认值为undefined (2)Null用来表 ...
- multi-voltage design apr
在先进制程中,为了降低芯片功耗,经常会采用 muti-voltage design,在一颗芯片内部划分出多个 power domain,不同 domain 采用不同的电压,有时候还会将其中某些 pow ...
- 提高SQL查询效率的30种方法
转载:提高SQL查询效率的30种方法 内容摘录如下: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中 ...
- JS设置cookie、读取cookie、删除cookie(转载)
JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的.而cookie是运行在客户端的,所以可以用JS来设置cookie.假设有这样一种情 ...
- Ruby知识总结-一般变量+操作符+if+数组和哈希
ruby入门掌握其实很简单,下面对我司主要使用的部分入门做一个简单的归纳总结: 本文的文章结构: 1.变量 2.操作符 3.if~else~end .unless 4.数组(Array) 5.哈希(H ...
- Scala_方法和函数
方法的定义 def functionName([参数列表]) : [return type] = { function body return [] } 如果没有=和{}包裹的方法体,那么该方法被隐式 ...