关于用C#编写ActiveX控件3(转)
我们在Demo中加入ShowMessage方法:
我们重新编译。在重新访问页面之前,我们先来修改html代码:
现在,重新访问http://localhost/helloworld.htm,单击Click按钮,应该可以实现交互了。
但是结果却很遗憾,我们发现IE跳出了对话框,如图所示
单击确定之后,我们发现JS报错。根据提示,我们判断可以通过修改IE的设置使控件运行。打开IE的 工具——〉Internet选项——〉安全——〉本地Intranet——〉自定义级别——〉对没有标记为安全的ActiveX控件进行初始化和运行,将其值设为启用。我们刷新页面,现在终于可以正确运行了。
当然,我们不能指望我们的客户和我们一样修改这个值。毕竟,一是操作麻烦,二是给电脑带来了很大的安全风险。在互联网上搜索之后,发现必须要实现IObjectSafety接口,把ActiveX控件标记为安全的ActiveX控件。在搜索MSDN之后,我找到了IObjectSafety接口的定义。这就好办了。首先我们自己用C#实现这个接口:
注意,这个GUID是不能改的。然后,我们在Demo类里面实现这个接口。增加一下代码:
#region IObjectSafety 成员 public void GetInterfacceSafyOptions(Int32 riid, out Int32 pdwSupportedOptions, out Int32 pdwEnabledOptions) { // TOD 添加 WebCamControl.GetInterfacceSafyOptions 实现 pdwSupportedOptions = 1; pdwEnabledOptions = 2; } public void SetInterfaceSafetyOptions(Int32 riid, Int32 dwOptionsSetMask, Int32 dwEnabledOptions) { // TOD 添加 WebCamControl.SetInterfaceSafetyOptions 实现 } #endregion
重新编译,然后将IE里面的设置改回来。现在,我们发现,和JS的交互已经没有问题了。
这样,一个最基本的ActiveX控件已经写好了。你可以在这个控件的基础上增加任何你需要的功能。到这里,编写控件的任务已经完成了,我们的下一个目标就是发布它。
关于用C#编写ActiveX控件3(转)相关推荐
- 用C#编写ActiveX控件(三) 转载
在前面我们已经完成了ActiveX控件的开发,接下来的就是发布它了. 首先,我们建立一个windows安装项目,并将ActiveX控件的主输出添加到项目输出中.然后,改动ActiveX控件的主输出文件 ...
- 关于《用C#编写ActiveX控件》的几点说明
在我的第一篇blog发表之后,得到大家的支持,我的工作得到了认可,感到很开心.当然,很多朋友也提出了很多出色的见地.我想在这里说明一下我对这些问题的理解. 我所完成的控件是一个用来获取 ...
- [转]用C#编写ActiveX控件(一)
前些日子做一个Web项目,必须自己编写一个ActiveX控件.如今的ActiveX控件大多是使用VB/C++来开发的,而我对他们并不熟悉,因此考虑使用熟悉的C#编写ActiveX控件. 首先,建立一个 ...
- 关于用C#编写ActiveX控件4(转)
在前面我们已经完成了ActiveX控件的开发,接下来的就是发布它了. 首先,我们建立一个windows安装项目,并将ActiveX控件的主输出添加到项目输出中.然后,改动ActiveX控件的主输出文件 ...
- 关于用C#编写ActiveX控件2(转)
了解了上述相关的理论之后,我们来看一个用C#编写ActiveX的实例. 首先,建立一个WinForm控件项目HelloWorld,并拖入一个Label控件,文字设为HelloWorld,如图: ...
- ATL7 1编写ActiveX控件
目录 ATL7.1编写ActiveX控件... 1 目录... 1 一创建ATL项目... 1 二创建ActiveX控件... 2 三解释向导的行为... 3 四标准属性... 4 背景属性... 4 ...
- 用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件
用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件 用C#编写ActiveX控件 开发浏览器控件这是本控件开发完成后的一个简单应用.我们可以利用它以本地文件夹为单位来批量更新服务器 ...
- 用C#编写ActiveX控件(二)
原文地址为: 用C#编写ActiveX控件(二) 用C#编写ActiveX控件(二) Homer 在我的上一篇blog中,已经实现了一个最基本的 ...
- 用C#编写ActiveX控件(二) 转载
在我的上一篇blog中,已经实现了一个最基本的ActiveX控件.当然,我们编写的任务还没有完成.首先,我们先尝试实现和JS的交互能力. 我们在Demo中加入ShowMessage方法: ...
最新文章
- 福利丨机不可失!20G免费教材快来领!
- SWFTools pdf2swf 参数详解
- 在 sql server 中,查询 数据库的大小 和 数据库中各表的大小
- java扑克发牌程序_Java多线程实现扑克牌发牌程序实例
- jersey客户端_项目学生:带有Jersey的Web服务客户端
- 前端学习(2020)vue之电商管理系统电商系统之完成商品添加操作
- 北亚数据恢复关于服务器存储MDisk重建的数据恢复方法的研究
- 经典算法冒泡 和二分法
- 用Obsidian实现自动日记
- 第1142期AI100_机器学习日报(2017-11-03)
- NRF52840学习历程(十一)幻彩RGB灯之WS2812B
- 企业竞争竞争情报系统的流程整合
- 计算机科学是期刊核心2类,属于计算机技术类的北大核心期刊有哪些
- 接入物流快递单号自动识别查询接口API
- hihocoder 博弈三连发
- 【C++基础知识】常成员函数,常引用
- “我应为王”,比尔盖茨名言--author :邵京国
- 素数筛法详解:埃氏筛和欧拉筛
- v中国质子交换膜行业发展动态与供需前景预测报告2022-2027
- 关于:last-child的误解
热门文章
- 每日一道算法题 - KaprekarsConstant(hard-1)
- 3.9 限制root远程登录
- OLAP-Kylin-大数据Week13-DAY4-Kylin
- 关于视频监控线缆的常识
- 2017全球光伏增速或放缓 国内“6·30”仍将是分水岭
- python pathos_python运行多线程库pathos时,pymongo递归深度溢出
- 在线格式化js代码的网站
- Java 使用 Dom4j 解析 XML 指南
- fopen /open,read/write和fread/fwrite区别
- 查询服务器系统类型有哪些,查看服务器的操作系统类型