一、CAB打包过程:
(1) 下载CABSDK.EXE解压到一个文件夹下,并将BIN目录添加到系统变量”Path”上,注意使用“;”隔开。
(2) 准备好文件
将准备好的文件放在一个文件夹下面(例如files)
install.inf :CAB安装配置文件
XX1.ocx:ActiveX控件
XX2.dll:动态链接库文件
install.inf文件的内容:
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
XX1.ocx=XX1.ocx
XX2.dll=XX2.dll
[XX1.ocx]
file-win32-x86=thiscab
clsid={A2A168A8-E23C-429F-8EE6-E05ED252C7A8}
FileVersion=1,0,0,1
RegisterServer=yes
DestDir=11 // 11表示在windows\system32目录下
[XX2.dll]
file-win32-x86=thiscab
DestDir=11
[RegisterFiles]
%11%\XX1.ocx
(3) 创建make.bat文件
用记事本打开make.bat文件,写入cabarc n XX1.cab XX1.ocx XX2.dll
(4) 执行make.bat文件,即可生成XX1.cab,在files文件夹下出现XX1.cab。
二、部署测试
写一个控件测试html网页,加入下列代码:
<OBJECT ID="XX1" WIDTH=428 HEIGHT=275 classid="CLSID:A2A168A8-E23C-429F-8EE6-E05ED252C7A8" codebase="..\files\XX1.CAB">
<PARAM NAME="_Version" VALUE="65536">
<PARAM NAME="_ExtentX" VALUE="12806">
<PARAM NAME="_ExtentY" VALUE="1747">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
其中clsid为控件GUID,codebase指向XX1.cab所在的位置。
三、测试网页
<HTML>
<HEAD>
<TITLE>Test ActiveX</TITLE>
</HEAD>
<BODY>
<input type = "button" value = "打开摄像头" id = "btnOK" onclick= "OpenCamera(); " > </input>
</BODY>
<OBJECT ID="XX1" WIDTH=428 HEIGHT=275 classid="CLSID:A2A168A8-E23C-429F-8EE6-E05ED252C7A8" codebase="..\files\XX1.CAB">
<PARAM NAME="_Version" VALUE="65536">
<PARAM NAME="_ExtentX" VALUE="12806">
<PARAM NAME="_ExtentY" VALUE="1747">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
<script type = "text/javascript">
function OpenCamera()
{
XX1.OpenCamera();
}
</script>
</HTML>