html调用atl com ocx,WEB调用dll+ActiveX控件

这篇博客介绍了如何在Web环境中通过Java调用DLL以及利用ActiveX控件进行交互。文中提到,这种方式的优点是用户只需要IE浏览器即可,但缺点是需要针对不同浏览器开发不同控件。在IE中,通过HTML引用控件和JavaScript调用ActiveX,可以实现DLL的功能。文章详细阐述了实现步骤和配置文件内容,并提供了调用示例。
摘要由CSDN通过智能技术生成

本项目中除了涉及到java 调用dll 外,还用到web 来调用 dll+activeX 控件!

将动态库dll 封装成控件优缺点对比

优:方便直接,用户只要有IE就行。

缺:只能针对不同浏览器做不同的控件,如IE,FireFox 等。

说明:

DLL(动态链接库): 分WIN32 DLL和MFC DLL

ActiveX:分ATL控件和MFC控件两类(也是一个DLL)

WEB:JAVASCRIPT 调用-> ActiveX调用-> DLL 完成加法运算并返回值,在页面上显示。

(一)动态库dll 与 ActiveX 实现

实现方式:本文不阐述(参考相关文档,网络上有很多)。

一般情况下会有下面四个文件,如下图所示

29658454_1.jpg

其中 SMT_SeraCtr.inf内容如下:

它描述了下载的内容和目标目录还有版本号及相应的DLL文件。这个要手动编写的。[version]

signature="$CHINA$"

AdvancedINF=1.0

[Add.Code]

SMT_SeraCtr.ocx=SMT_SeraCtr.ocx

[SMT_SeraCtr.ocx]

file=thiscab

clsid={DD0EEBEE-D54E-43E0-8645-AA90BDBDE718}

FileVersion=1,1,1,10

RegisterServer=yes

XXX应用控件可以在IE6(或更高版本)浏览器中使用,主要用来操作手机读头。 也可在应用程序中直接调用。

(二)如何使用:

在IE中调用方式如下:

1、在HTML页面中引用控件 ,代码如下。

如果更新发布了新控件版本,请替换服务器的SMT_SeraCtr.cab文件,并更新codeBase的版本号:version=1,0,0,1 0。对于WEB应用,建议所有引用部分做成统一调用方式。

2、在HTML页面脚本中,根据应用需要,做对应的方法调用。

{

UpdateOnlineState(online_state);

}

-----------------------------------------------------------------------------

说明:

codeBase="SMT_SeraCtr.cab#version1,0,0,10" codeBase表示文件相对或者绝对路径;version表示版本号,如果这个号和INF文件的版本号一样,那么第二次访问页面就不会下载,否则每次都下载。CLSID 是 ActiveX 项目生成的序号,具体可以在项目的*.rgs 文件中找到。

好了。所有的步骤都完成了,这时你运行index.html,提示ActiveX控件,你选择允许,然后就可以调用了。

注意:上传文件时,不能上传html 所有将文件扩展名修改为.txt

调用后如下图所示:

29658454_2.png

查看IE加载哪些ActiveX 控件

29658454_3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值