ATL实现ActiveX插件
文章属于原创,转载请联系本人。有参照两个博客(http://blog.csdn.net/jiangtongcn/article/details/13509633 http://blog.csdn.net/liyong314159265/article/details/40979853)
vs2010,cert2spc.exe,makecert.exe,signtool.exe,signcode.exe
第一步:创建ATL Project,各项默认,点击finish
第二步:添加实现插件功能的类。右键项目——添加类——ATL——ALT控件
第三步:点击Add,填入下面参数,点击finish
第四步:切换类视图,右键Itest,add method。
第五步:点击finish,再将视图切换回来,看到生成的test.htm
<HTML>
<HEAD>
<TITLE>ATL 8.0 test page for object test</TITLE>
</HEAD>
<BODY>
<OBJECT ID="test" CLASSID="CLSID:0C5EBE01-3B3B-47C5-BD55-E1D47319D0D3"></OBJECT>
<input type="button" value="Add" onclick="al();" />
<script type="text/javascript">
function al() {
alert("123");
}
</script>
</BODY>
</HTML>
结果:
如果想在其他计算机也出现插件
一、编写inf文件
classID修改成自己的
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
fq.ocx=fq.ocx
[fq.ocx]
file-win32-x86=thiscab
clsid={0C5EBE01-3B3B-47C5-BD55-E1D47319D0D3}
FileVersion=1,0,0,1
RegisterServer=yes
DestDir=11
二、创建cab文件
cabarc -s 6144 n ActiveXHello.cab ActiveXHello.inf ActiveXHello.dll
必须在ActiveXHello.inf ActiveXHello.dll文件夹下执行
使用命令makecert.exe创建证书和私钥文件(先放入cert2spc.exe,makecert.exe,signtool.exe)
在当前文件夹下执行下面命令
makecert -sv "ActiveXHello.pvk" -n "CN=lhsoft.net" -r ActiveXHello.cer
输入两次密码;
最后,将CAB文件进行签名
用signcode.exe进行签名
1、选择cab文件
选择自定义
选择刚刚生成的cer证书
选择磁盘上秘钥
选择shal
默认下一步,直到结束
这样大家就可以装B啦!!!!!!