ATL active控件 VS2010开发

win7 64位
IE8 32位

1、创建工程

首先打开vs2010,创建一个ActiveX工程:
E:\VC\activeX\EtcNfcRC522\EtcNFComm\EtcNFComm

这里写图片描述

项目设置:
这里写图片描述

项目创建成功:

2、设置IE联合调试

C:\Program Files (x86)\Internet Explorer\iexplore.exe
$(ProjectDir)1.html

设置IE8 网页联合调试
这里写图片描述

3、联合调试 html网页设置

建立一个文件 E:\VC\activeX\EtcNfcRC522\EtcNFComm\EtcNFComm\1.html
内容为:

4、添加类

这里写图片描述
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

5、添加函数

这里写图片描述

这里写图片描述

这里写图片描述
这里写图片描述

这里写图片描述

这里写图片描述

网页:

这里写图片描述

library EtcNFCommLib
{
    importlib("stdole2.tlb");
    [
        uuid(E52FD896-EF26-4DAE-83B1-75FBB78B9D78)      
    ]
    coclass CompReg
    {
        [default] interface IComponentRegistrar;
    };
    [
        uuid(0CC40634-671C-429F-95D9-3D8310885540)      
    ]
    dispinterface _IEtcControlEvents
    {
        properties:
        methods:
    };
    [
        uuid(578F820D-AE97-4A68-A0FF-F5D1A75681A7)      
    ]
    coclass EtcControl
    {
        [default] interface IEtcControl;
        [default, source] dispinterface _IEtcControlEvents;
    };
};

网页内容:1.html

<HTML>
<HEAD>
</HEAD>
<BODY>
<object  classid="clsid:578F820D-AE97-4A68-A0FF-F5D1A75681A7"  id="myAddObj" ></object>  
<p></p> 
<input type="button" value="add" onclick="add();" />

<script language="javascript"> 
    function add() {
        var calc = document.getElementById('myAddObj');
        var result = calc.add(1,2); 
        alert(result); 
    }

</script>
</BODY>
</HTML>

显示效果:
这里写图片描述

IE中遇到下面的问题如何解决:
这里写图片描述

首选设置
IE菜单:工具 -> Internet 选项 -> 高级 >> 安全 >> 允许活动内容在我的计算机上的文件中运行(钩中)
打开工具——Internet选项–>高级
找到“允许活动内容在我的计算机上的文件中运行”打上勾
这里写图片描述

控制台窗口实时打印消息:

    FILE* fp = NULL;
    AllocConsole();

    freopen_s(&fp, "CONOUT$", "w+t", stdout);

    printf("Hello CEtcControl::initialize\r\n");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值