javascript 使用ocx

[b]1.找出相关信息,主要是classid [/b]
首先我们的给这个ocx起个名字,起什么名字通过最后生成的ocx控件的文件名决定。
第二,我们的找到这个ocx的编号值,将ocx提取出来,我采用Microsoft Control Pad来编辑,得到ocx控件的classid, 然后我们做下面的工作。

由于我的ocx不是自己编辑的,所以我是等注册后去注册表里找,直接复制文件名,然后打开注册表->查找,注意:第一次找到的可能不是我们想要的。一般情况,我们想要的这个右边的内容不止一项。然后复制他的父节点,例如:{CA69969C-2F27-41D3-954D-A48B941C3BA7}作为classid。

[b]2.注册ocx控件 [/b]
注册ocx控件使用RegSvr32.exe。
使用RegSvr32.exe(在System目录下)注册,语法为:
RegSvr32 path\ocxname.ocx
如果注册成功将显示一个成功的消息框。

如果不希望看到这个对话框,也可以使用/s选项,如
RegSvr32 /s your.ocx
如果取消注册,可以使用/u选项,如
RegSvr32 /u your.ocx

一般我们还要放到path(环境变量中配置的)下:
copy path\Biokey.ocx C:\WINDOWS\system32\

[b]3.加载ocx控件[/b]

注册成功后,我们就得写一个html页面,通过<OBJECT>来加载这个控件了。具体如下:

<OBJECT id="ocx文件名/注册表里找来的值" codeBase="ocx控件的相对位置#version=1,0,0,0"data="data:application/xoleobject;base64,mRHW/Ifh3UqI5ZryOEhtERAHAAD/KgAAYSQAAA==" classid="CLSID:通过MCP找到的classid" VIEWASTEXT> </OBJECT>

上面有些内容我不了解,我就直接
<object classid="clsid:CA69969C-2F27-41D3-954D-A48B941C3BA7" id="Biokey1" width="0" height="0"> 
其他选项就不写,这样也可以。

[b]4.调用[/b]

一、调用属性和方法
调用属性和方法很简单,直接用object定义的id.属性/方法。例:属性Biokey1.IsRegister 方法Biokey1.CancelEnroll();

二、调用事件
<script language="javascript" for="Biokey1" event="OnFeatureInfo(AQuality)" type="text/javascript"> 
if(AQuality != 0){
alert("不合格,请重来!");
}
//该事件要做的事情都写在这里就可以了。。。。。。
</script>
解释:event="OnFeatureInfo(AQuality)" 是ocx中的事件

<OBJECT ID= "test " WIDTH=0 HEIGHT=0
CLASSID= "CLSID:226BEB85-AFA6-4B1A-9B5B-48673A55BB85 "
CODEBASE= "http://localhost/activex/a.ocx ">
<PARAM NAME= "_ExtentX " VALUE= "0 ">
<PARAM NAME= "_ExtentY " VALUE= "0 ">
</OBJECT>

//CODEBASE= "http://localhost/activex/a.ocx "

這個不應該這樣寫,要寫成
CODEBASE= "../activex/a.ocx#version1.0.0.1 "

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值