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");