首页 > 代码库 > mFC开发ocx控件放到网上去
mFC开发ocx控件放到网上去
其实这里网上能找到很多文件。
mfc开发activex控件本地好弄,但是放网上去能供别人访问或者下载还是比较细的工作。这里整理下
打包签名:
cabarc n test.cab test.inf AnEdit.ocx 这样就将其打包成test.cab
makecert /sv "test.pvk" /n "cn=test" -$ "individual" -r test.cer
cert2spc test.cer test.spc
signcode.exe开始签名。
这里比较关键的其实是写 test.inf
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
AnEdit.ocx=AnEdit.ocx
[AnEdit.ocx]
file-win32-x86=thiscab
RegisterServer=yes //是否注册,不写成yes下次还提醒。
clsid={134DC7AA-A178-4432-BF32-615C27D5CD35}
DestDir=11
FileVersion=1,0,0,1
有可能有依赖库,这个后面再说,现在这个没依赖就这样
clsid={134DC7AA-A178-4432-BF32-615C27D5CD35} 是MFC程序里的类编号
// CAnEditCtrl 的类信息
[ uuid(134DC7AA-A178-4432-BF32-615C27D5CD35),
helpstring("AnEdit Control"), control ]
coclass AnEdit
{
[default] dispinterface _DAnEdit;
[default, source] dispinterface _DAnEditEvents;
};
好了inf文件就这样了。
然后是web页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>nihao</title>
</head>
<p> 我的安全插件</p>
<object classid="clsid:134DC7AA-A178-4432-BF32-615C27D5CD35"id="test" CODEBASE="http://192.168.0.222/AnEdit/test.cab#version=1,0,0,1"
WIDTH=400
HEIGHT=200
ALIGN=center
</object>
<body>
</body>
</html>
clsid:134DC7AA-A178-4432-BF32-615C27D5CD35跟上边一样的。 test.cab 就是刚刚上边打的包。这里不要写AnEdit.ocx
不然签名什么的就没有意义了。
如果单是这样发网上也不行,因为证书无效,一般视为无效签名。会提示无效签名甚至不能安装。。。
导入证书test.cer ;OK ,这样就可以了有效签名直接下载使用!
mFC开发ocx控件放到网上去