浏览器插件之ActiveX开发(一)

一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注册安装)体验问题。在有特殊需求(如涉及数据安全的金融业务数据交互、需插件才能实现的与本地设备的交互等)的情况下可以酌情慎用。

浏览器插件总体可以划分为两大阵营,即IE支持的插件以及非IE支持的插件。本来在Netscape时代,对于浏览器插件是有公用的规范的(NPAPI),一开始所有浏览器都支持该规范,包括IE。后来出于商业原因,微软的IE不再支持NPAPI,改而自己开发了一套基于COM的ActiveX体系,但这个体系对于非IE浏览器是拒绝支持的。所以目前的状况基本是,IE浏览器仅支持ActiveX控件,而Firefox、Chrome等浏览器只支持另一类接口(XPCOM或NPAPI)。要想实现一个Web插件,至少需要同时考虑IE支持的AceiveX版以及非IE支持的Plugin版(Flash等插件对于IE与非IE浏览器都是不同的)。

ActiveX的开发可以用C#、VB及C++等语言。用C++开发ActiveX既可以使用ATL,也可以使用MFC。ATL ActiveX输出文件较小,适合网络传输,但开发复杂度稍大;而MFC ActiveX输出文件稍大(附带必要的MFC dll),但易于上手。本文主要介绍基于MFC的ActiveX开发。文章开始前先介绍一下activeX控件:

Xtreme Suite Pro是为Windows开发人员提供的用于ActiveX COM的用户界面套包,创建包含完整的高度可自定义的用户界面组件(包括Visual Studio样式对接窗格和Office样式功能区,工具栏和菜单),以使您的应用程序具有现代外观。

点击下载Xtreme Suite Pro最新试用版

一、创建项目及添加接口

在Vs.net 2008中,新建一个MFC ActiveX Control项目:

点击“OK”后将弹出如下对话框:

依次点击“Next”按钮直到“Control Settings”标签页:

由于本例子只演示仅提供函数接口不基于界面的ActiveX,故“Create control based on”选择“(none)”即可。点击"Finish”按钮,即完成了项目的创建,文件结构如下:

右击项目名称,选择“Properties”,在项目属性对话框中对“All Configurations”进行配置。在“Configurations Properties->General”标签页中,“Use of MFC”选择“Use MFC in a static Library”,以便编译时将MFC相关库自动和控件一起打包。对于“Character Set”的选择根据具体情况而定,须注意“Unicode Character Set”和“Mulity-Byte Character SEt”对字符处理是完全不一样的(字符编码不一样,需要进行MultiByteToWideChar或WideCharToMultiByte转换)。

注意:创建MFC ActiveX Control时已经自动给项目添加了.def文件并做好了相应关联。若对配置信息更改后导致编译的ocx注册不成功或提示找不到EntryPoint,可以检查一下Linker->Input的Module Definition File是否配置正确,正常情况下已经自动配置好了,如下图:

接下来就可以在ActiveX中添加我们需要与外部交互的接口方法和属性了。选择“Class View”,右击“MyTestActiveXLib->_DMyTestActiveX”,在弹出的菜单中可以选择Add Function或Add Property来添加接口方法或接口属性:

这里以定义一个LONG AddFun(LONG num1,LONG num2) 的接口函数为例,添加Menthod如下图所示:

点击Finish后,即可在“MyTestActiveXCtrl.cpp”文件找到刚添加的接口函数代码:

在函数体中完成自定义的业务逻辑即可。

下一章将讲解如何实现安全接口

转载自:博客园-野文

Xtreme Suite Pro使用教程:浏览器插件之ActiveX开发相关推荐

  1. 浏览器插件之ActiveX开发(二

    浏览器插件之ActiveX开发(二) 按照上文<浏览器插件之ActiveX开发(一)>的步骤,能开发一个基于MFC的简单的ActiveX控件.不过在实际操作中还是会遇到一些问题.由于对CO ...

  2. 浏览器插件之ActiveX开发

    浏览器插件之ActiveX开发(一) 一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注册安装)体验问题.在有特殊需求(如涉及数据安全的金融业务 ...

  3. ActiveX界面套包Xtreme Suite Pro案例:助力企业 Office风格用户界面开发

    Xtreme Suite Pro是为Windows开发人员提供的用于ActiveX COM的用户界面套包,创建包含完整的高度可自定义的用户界面组件(包括Visual Studio样式对接窗格和Offi ...

  4. Xtreme.Suite.Pro 不错的换肤软件

    Xtreme.Suite.Pro是个不错的换肤的东东. 可以自己制作皮肤.功能强大. 由于本人空间的问题,提供不了下载. 这里只是推荐一下吧. 转载于:https://www.cnblogs.com/ ...

  5. Codejock.Xtreme.Suite.Pro.ActiveX+Toolkit_v15.3.1-国内最新版

    Codejock Xtreme SuitePro 可為Windows程式員提供一套先進的構件,從而使您的應用程式具有專業的.現代感的外觀. Xtreme Suite Pro 結合了7個構件,Xtrem ...

  6. 开发浏览器插件/扩展应用开发

    今天尝试了下开发浏览器扩展,在Microsoft Edge浏览器上测试的,其他的也类似. 目录: 配置: // manifest.json{"name": "ADKILL ...

  7. python 开发浏览器插件,利用firebreath开发跨浏览器插件

    工程中生成了相应的npapi和activex的代码,主要修改对应项目名称目录下的文件即可. 其中***API.cpp和***API.h中定义了相关的示例方法,比如echo方法,我们可以直接编译.对应目 ...

  8. 浏览器插件的开发学习

    今天闲来无事,想到公司在开发浏览器插件的问题上比较纠结,所以我整理了下,以便以后用到可以快速上手 谷歌浏览器插件是一种小型的用于定制浏览器体验的程序.通过插件,可以自定义浏览器的一些行为来适应个人的需 ...

  9. h5开发必备工具之草料二维码浏览器插件

    h5开发必备工具之草料二维码浏览器插件 做h5开发,的一个重点是如何适配手机,那么如何让你敲的代码可以在你手机上简单看到呢. 原理很简单,就是将你的电脑变成服务器,发射wifi给手机进行连接.然后在你 ...

最新文章

  1. python__基础 : 异常处理与自定义异常
  2. Android子线程中更新UI的4种方法
  3. linux dhcp 服务(转)
  4. openstack 手动安装版 功能测试
  5. SQL Server数据库partition by 与ROW_NUMBER()函数使用详解[转]
  6. linux看注册的定时任务,Linux下定时任务的查看及取消
  7. 线元法输入曲线要素_Origin入门教程(三):Origin中曲线怎么平移?
  8. Matlab读取TXT文本文件通用程序
  9. 如何用安卓手机运行Python代码
  10. Matlab聚类分析相关函数
  11. stvd能编译c语言,stvd+stm8s单片机程序编译报错
  12. 苹果电脑怎么断网?你会断网吗? Mac电脑断网方法
  13. 模式识别实验之PCA人脸识别
  14. 从本地硬盘启动计算机,戴尔笔记本电脑设置从硬盘启动的方法
  15. 解决ipad uiwebview显示网页超过屏幕宽度
  16. mercury MW300R(mt7620n)GPIO研究
  17. Cross-X Learning for Fine-Grained Visual Categorization
  18. “(535, b‘Error: authentication failed‘)“身份验证失败问题
  19. 广州大学计算机投档分数线,2021年广州大学最低投档分数线及录取位次
  20. 外贸怎么在谷歌搜索客户?

热门文章

  1. 本地电脑做网站服务器,无需公网IP穿透映射80端口
  2. 关于计算机病毒事件,计算机病毒的事件
  3. linux/android驱动工程师面试相关内容总结
  4. 图论算法 有图有代码 万字总结 向前辈致敬
  5. 苹果官方iPhone/iPad以旧换新5步攻略
  6. linux赋予普通用户root,Linux --赋予普通用户root 权限
  7. python爬取肯德基KFC全国门店2021-01-11
  8. 审稿人意见回复 Response to revierwers (Updating)
  9. 【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件
  10. win7计算机连接xp计算机,浅析win7系统电脑连接共享xp打印机教程