WEB页面通过ActiveX控件调用DLL动态库(三):VS2013编写ATL DLL(ActiveX)并通过Web调用ATLDLL

WEB页面通过ActiveX控件调用DLL动态库(三):VS2013编写ATL DLL(ActiveX)并通过Web调用ATLDLL
本文的在于使用VS2013编写ATL生成DLL后并通过Web页面进行调用,ATL(ActiveX)调用DLL将在下节四种介绍。
调用流程为 Web >ATLDLL。
(一)创建ATL
1.打开vs2013,新建项目为ATL空项目,其名为ATLtest。直接点击完成即可
在这里插入图片描述
2.在解决方案ATLtest上右键,添加,类,选择ATL简单对象。点击添加。
在这里插入图片描述
3.填写ATL对象名称,注:ProgID为Web调用时所使用的。点击完成。
在这里插入图片描述
4.在类视图中找到IATLtestdemo接口,右键添加、方法。
在这里插入图片描述
方法名为multip
添加两个LONG型入参a、b,LONG*的返回值out。点击完成。
在这里插入图片描述
5.在解决方案的源文件ATLtestdemo.cpp中,出现了添加的方法具体函数:
在这里插入图片描述
在其中输入以下代码:完成两数乘积。

STDMETHODIMP CATLtestdemo::multip(LONG a, LONG b, LONG* out)
{
	// TODO:  在此添加实现代码
	int mul = static_cast<int>(a)*  static_cast<int>(b);
	*out = static_cast<LONG>(mul);
	return S_OK;
}

6.选择Release,右键解决方案,属性,链接器,常规,逐用户重定向选择是。
在这里插入图片描述
在这里插入图片描述
7.右键解决方案,生成成功。
在这里插入图片描述
8.在其工程目录下Release文件夹下生成了编译好的ATLtest.dll文件
在这里插入图片描述
9.64位机器将ATLtest.dll文件放置C:\Windows\SysWOW64下
32位放置C:\Windows\System32下。
管理员身份运行cmd,进入到C:\Windows\SysWOW64下,
执行加载regsvr32 ATLtest.dll
在这里插入图片描述
(卸载regsvr32 /u ATLtest.dll)
注册成功。
(二)编写HTML
创建一个HTML后缀文件,输入一下代码:

<html>
<head>
    <title>Document</title>

    <script language="javascript" type="text/javascript">
        function functionInfo() {
		    var mydll=new ActiveXObject("ATLtestdemo");
			var result=mydll.multip(2,4);

            alert(result);
        }
    </script>


</head>
<body>
<input type="button" value="test" onclick="functionInfo()">
</body>
</html>

注意:两个注意的地方,一个是web调用DLL的名称,一个是所建立的方法。
在这里插入图片描述
目前ActiveX支持IE浏览器,将编写好的html文件拖入到web上,点击允许阻止的内容。点击test按钮,
在这里插入图片描述
选择是
在这里插入图片描述
即可弹出正确计算后的数字。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值