ActiveX插件的使用
来源:互联网 发布:eosinfo软件下载 编辑:程序博客网 时间:2024/06/08 04:22
一、简述
ActiveX插件源自微软,主要作为IE浏览器的插件程序,在这里我们不多介绍了,主要是对这方面应用不是很懂。前段时间由于工作需要了解了一些,通过网上查询的一些资料对如何生成以及如何使用ActiveX插件在这里做一下详细的记录。
二、如何生成ActiveX插件
其实生成一个ActiveX插件很简单,只需几步即可,不过前提是电脑上要装上VS。介绍一下我的电脑环境:VS2013 + win8 。
1、首先打开VS,新建一个MFC ActiveX控件项目,如下图。
2、进入到控件向导界面,一直点击下一步,直到控件设置界面,进行如下设置,(我们这里通过创建一个对话框来显示,所以这里创建的控件基于选择none)然后点击完成。
3、我们可以看到MFC已经帮我们完成ActiveX的框架了,我们可以在此基础上自由添加代码。
4、打开项目的属性页,在“配置属性”中点“常规”,在右侧将“MFC的使用”设置为“在静态库中使用MFC”,然后“应用”,“确定”。这里选择在静态库中使用MFC,是因为在生成目标文件(xxx.ocx)时已经将需要的依赖包含在内,所以不需要再包含MFC的一些依赖库,可以直接在其他电脑上使用。
5、点击生成解决方案。在生成的过程中,如果电脑上开着杀毒软件会弹出如下提示框。其实在生成MyActiveXText.ocx文件时,会将其写入注册表,所以杀毒软件会提醒有程序在修改注册表。在这里我们忽略此次提醒。
在Debug文件夹下我们发现成功生成了ocx文件,而ocx文件也就是我们的ActiveX插件。
6、这里我们虽然成功生成了插件,但是未添加任何功能。选择资源视图页面,添加一个对话框,去除两个按钮,添加一个编辑框。然后修改对话框属性:Border改为None,Control改为Ture,ID改为IDD_MAIN_DIALOG,Style改为Child,Visible改为True。修改编辑框的ID为IDC_EDIT_INPUT。
资源视图在这个位置:
注意:关于对话框,一定要将其Visible属性改为True(也就是ID为IDD_MAIN_DIALOG的这个最外层对话框对应的Visible属性,其默认为False),否则,即使其它一切设置都没有问题,但是最后对话框还是不显示!
7、我们通过双击对话框,为对话框添加一个类,如下图:
8、在MyActiveDemoCtrl类中添加CActiveXDlg对象。
9、在CMyActiveXTextCtrl的onDraw方法中注释掉原有的绘制椭圆代码,添加绘制对话框的代码。
10、打开CMyActiveDemoCtrl的类向导,选择消息,然后双击WM_CREATE消息添加到我们程序中,这里当CMyActiveXCtrl类处理WM_CREATE事件,我们可以初始化对话框对象,在onCreate函数中添加如下代码:
11、对话框构建结束。选择类视图页面,现在添加对外调用接口。
在 CActiveXDlg中添加如下代码:
CString CActiveXDlg::getEditContent(){ CString strEditContent; GetDlgItemText(IDC_EDIT_INPUT, strEditContent); return strEditContent;}
在CMyActiveXTextCtrl中添加如下代码:
BSTR CMyActiveXTextCtrl::GetEditContent(){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); CString strResult = m_dlg.getEditContent(); // TODO: 在此添加调度处理程序代码 return strResult.AllocSysString();}
12、重新生成解决方法,如果没有错误,则该控件就会在本机中注册(上面已经提到过)。然后利用下面的HTML代码保存到.html文件中进行测试:
<HTML><HEAD><TITLE>TestMyActiveXDemo</TITLE></HEAD><OBJECT ID="ActiveXTestCtrl" WIDTH=500 HEIGHT=150 classid="CLSID:C8FEA6AA-4649-4DA1-9C1F-624D27812722"></OBJECT><BODY><p><input type="button" value="OutputContent" id="btnOK" onclick="getContent();"></input></BODY><script language="javascript">function getContent(){ alert(ActiveXTestCtrl.GetEditContent());}</script></HTML>
这里的CLSID需要注意,这个id在我们CMyActiveXTextCtrl.cpp 中,也可以在CMyActiveXTextCtrl.idl文件中查看:
13、用IE浏览器打开该HTML文件,会弹出下面的提示,点击 “允许阻止的内容”。
14、效果图
我们打开注册表可以看到我们的ActiveX插件已成功注册。
尾
此篇文章详细介绍了如何生成以及如何使用一个ActiveX插件。但是ActiveX插件只能在IE浏览器中使用,下一篇中将介绍NPAPI插件在火狐浏览器上的使用。
- ActiveX插件的使用
- 内嵌Activex的Activex插件开发
- 使用c#开发activeX插件
- 使用激活的Bartender2016最新版实现ActiveX插件生成二维码
- VLC的ACtiveX插件使用方法
- VLC的ACtiveX插件使用方法
- VLC的ACtiveX插件使用方法
- VLC的ACtiveX插件使用方法
- VLC的ACtiveX插件使用方法
- ActiveX插件
- Web网页中内嵌Activex的Activex插件开发
- 【插件-ActiveX】ActiveX OCX CAB包的打包方法
- QTP使用插件activeX插件启动以后,ie无法启动
- 使用activex自动更新,部署多插件及插件更新
- 网页ActiveX插件 cab包的更新
- activex插件遮盖问题的处理
- activex 控件的使用经验
- 使用ActiveX控件的问题
- 完全二叉树判断练习
- Android微信智能心跳方案
- 运动追踪 demo
- java语言基础(9)——变量相加和常量相加的区别
- Linux笔记1(遇见的查到的就记下来了啦)
- ActiveX插件的使用
- hibernate正向生成数据库表以及配置——Teacher.java
- The valid characters are defined in RFC 7230 and RFC 3986 错误
- NTP错误解决方法
- python使用requests模块参数编码的不同处理
- 5-2 一元多项式的乘法与加法运算 (20分)
- Struts2拦截器与上传下载
- mysql操作遇到的问题
- Java--正则表达式