WIN下创建ActiveX(语言C++)。在IE浏览器调用。

本文介绍如何创建MFC ActiveX控件并实现特定功能,包括添加API、注册与反注册OCX文件、确保DLL文件正确放置等步骤,并展示了如何在Web页面中嵌入并调用这些ActiveX控件。
1)创建MFC Active Control
注意创建ActiveX工程的方法:

1.1)选择ActiveX工程

1.2)勾选如下两项

1.3)打开Class View

1.4) 如下方法添加API


比如我是加了3个对外API,否则该activex没有任何功能。
OpenPort
ClosePort
TakeOneRfid


// 编译代码会自动注册,不用亲自注册,反注册使用/u
Regsvr32  D:\xxx\rifd_ocx\lh_getrfid\Debug\lh_getrfid.ocx
Regsvr32 /u   D:\xxx\rifd_ocx\lh_getrfid\Debug\lh_getrfid.ocx

1.6)生成的ocx需要和其他dll放在同目录
编译参数最好静态编译(以Debug版为例)
查看编译好的ocx外部接口,可以使用oleview

2)查看GUID/CLSID
activex代码中ild文件:
//  Class information for Clh_getrfidCtrl
[
        uuid(C2B901C0-8B72-440A-B658-99A6E4DA5EFE)  // 这就是CLSID
]

3)在web代码的最开头嵌入如下代码:
// 以下是web调用activeX的代码,这里调用了我定义的2个API,OpenPort和TakeOneRfid.
// C2B901C0-8B72-440A-B658-99A6E4DA5EFE是ActiveX的CLASSID,一定要写对,否则会提示方法不存在或者对象获取失败

<OBJECT id="AcitveOcx" CLASSID="CLSID:C2B901C0-8B72-440A-B658-99A6E4DA5EFE" ></OBJECT>
<script type="text/javascript">
AcitveOcx.OpenPort();
</script>
<input type ="button" onclick ="alert(AcitveOcx.TakeOneRfid());" value ="显示当前时间" />

// 可以直接将上述代码保存为html文件用IE打开。

ps:
假如需要输出日志信息,用函数OutputDebugString。
假如需要调试,Debug>Attach to process>选择IE(有多个IE进程挨个试一下)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值