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啦!!!!!!
ATL实现ActiveX插件的更多相关文章
- ATL开发 ActiveX控件的 inf文件模板
ATL开发 ActiveX控件的 inf文件模板
- javascript检测ActiveX插件是否安装/启用
本文主要提供在IE浏览器下检测ActiveX插件安装/启用的状态. 在一些应用开发中,需要用到一些第三方提供的ActiveX插件,如Flash插件. 为了在未安装插件的浏览器显示友好的提示,需要用到主 ...
- 【CSharp】C#开发ActiveX插件
这几天Web项目中需要用到ActiveX插件(PS:听说这个是好久好久的东西了...),由于项目中需要调用本地资源所以只能研究研究这位老兄了. 先说说自己学习他的经历,开始的时候是用百度引擎检索自己所 ...
- C#开发ActiveX插件-aspx中嵌入
刚到新的公司,第一周让我熟悉一下他们用的silverlight和arcgis.这周,也就是昨天分配了我一个小小的任务! 哪个项目的不知道,是让我实现一个在aspx中嵌入activeX插件! 在网上找了 ...
- 如何用ATL创建ActiveX控件
演示截图: 代码简介或代码解析: 如何用ATL创建ActiveX控件 实现了一个ActiveX控件,它在一个圆内部有个正多边形,当用户在多变形内部单击将会使多边形的边数在当前的基础上+1,在多变形外部 ...
- C#制作ActiveX插件
首先新建项目--->类库,取名:ActiveXDemo 右键项目属性:应用属性==>程序集信息=>使程序集Com可见, 生成==>输出==>为com互操作注册 新建接口类 ...
- IE添加可信任站点,启用ActiveX插件批处理
添加可信任站点IP地址为:192.168.1.108,启用ActiveX插件执行以下批处理命令: reg add "HKCU\Software\Microsoft\Windows\Curre ...
- ActiveX插件的Z-Index属性无效问题解决
在Web开发中我们经常通过z-index设置多个元素之间的层叠关系,这种方式在多数情况下很有效,但是如果遇到有窗体元素时这种方式常常显得无能为力,今天我们就一块看一下如何有效的解决这个问题. 在Web ...
- 网页中控制ActiveX插件高度
说明:IE窗口中承载了一个ActiveX插件,试图使该插件充填窗口(自适应窗口的高度.宽度),且不出滚动条. 承载插件的代码如下: <body> <form id=" ...
随机推荐
- 聊聊Java中的反射(一)
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 反射reflection主要为了动态操作Java代码,它的主要功能体现在Java提供的refl ...
- Redis环境搭建
一.准备的安装包 windows虚拟机软件:VMware Workstation Pro 12 linux安装文件:CentOS-7-x86_64-Minimal-1511.iso 远程登录软件:pu ...
- Django+Nginx+uWSGI部署
一.介绍 Django的部署可以有多种方式,采用nginx+uwsgi的方式是最常见的一种方式.在这种方式中,将nginx作为服务器前端,接收WEB的所有请求,统一管理请求.nginx把所有静态请求自 ...
- ES6新特性之Symbol使用细节
在迭代器章节的时候出现过[Symbol.iterator ]的属性,那么到底Symbo到底是什么? 答:Symbol是ES6新定义的一种值,它既不是字符串,也不是对象,而是为javaScript增加的 ...
- Problem D
Problem Description An entropy encoder is a data encoding method that achieves lossless data compres ...
- Android 开发笔记___drawable
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 关于jQuery.click()函数
最近接手了前同事的项目,关于使用线程控制实现代码热插拔功能! 在线程中,使用了ChatWebSocketHandler,与前台进行实时交互,今天我拿到需求是这样的,结合chatWebSocketHan ...
- Android中常用的URI
使用URI需要注意:当应用需要和手机里的文件或者程序互动时需要为该应用增加权限.在AndroidManifiest.xml文件中的根元素中增加如下配置 例如: 1.当应用需要读取.添加联系人时: 授予 ...
- windows查看端口占用命令
开始--运行--cmd 进入命令提示符 输入netstat -aon 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&qu ...
- CopyOnWriteArrayList并发容器
CopyOnWriteArrayList并发容器 Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才 ...