1:本地安装vs2010,有时报错缺少WindowsSP1更新包,下载安装即可。

2:安装完成后,打开VS2010,

3:文件--新建--项目,找到ATL项目(一种COM组件写法),输入项目名称,点击确定(本地我们以DLLDemo为例)

4:点击下一步之后,点击完成,可以看到如下的界面。

5:以上就是一些初步的建站步骤,下面就是具体的实现方法,右键点击 项目名称DLLDemo 添加--类

6:在添加类的页面中选择ATL简单对象,点击完成,此处不用填写名称和位置,下一步骤中完成

7:在ATL简单对象向导中,简称写上我们项目的名称,其他自动生成,此处的ProgID自己填写,后续JS调用中我们需要用到

8:到此,全部点击是

9:以下开始添加方法,工具栏视图——类视图——打开IDLLDemo接口

10:右击添加-添加方法

11:下面是添加参数,首先选择入参选择in,参数类型是LONG,参数名自己想一个,点击添加,接下来是出参,首先选择参数类型LONG*,选择框retval打勾,再填写出参名称

点击完成

12:打开视图——解决方案资源管理器,具体如下图

双击打开,添加具体实现方法,在方法DLLDemo中添加具体实现方法,只是为了测试,所以比较简单

注意,此处*不做具体的运算,是将结果返回类型转换,保存

13:项目生成

14:此时项目生成失败,我们要做调整,步骤如图

此处将逐用户重定向选择:是

点击应用——完成

15:然后重新生成,到此成功

16:打开文件——打开——文件 中找到项目根目录,在release文件夹下, 找到生成的dll文件DLLDemo.dll

到这为止,dll就制作成功了

下面注册

1:将DLLDemo.dll放入系统文件,(64位:C:\Windows\SysWOW64)(32位:C:\Windows\System32)

2:以管理员身份运行cmd,在该目录下运行:regsvr32 DLLDemo.dll

注册成功

下面是js调用,此调用方法是IE浏览器调用,

<html>
<head>
<title>Document</title> <script language="javascript" type="text/javascript">
function functionInfo() {
var mydll=new ActiveXObject("QQQ");
var result=mydll.DLLDemo(5); alert(result);
}
</script>
</head>
<body>
<input type="button" value="测试" onclick="functionInfo()">
</body>
</html>

运行:

运行成功,此方法为js调用ActiveX中dll实现方法,因此只支持ie浏览器,所以ie浏览器需要一系列的设置,详情百度。

页面调用dll的更多相关文章

  1. 以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用 (转)

    以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用 (转) ; Script generated by the Inno Setup 脚本向导. ; SEE THE DOCU ...

  2. LabVIEW如何方便地调用DLL文件

    转自:http://bbs.elecfans.com/jishu_469502_1_1.html   LabVIEW调用DLL文件 LabVIEW支持通过调用DLL文件的方式与其它编程语言混合使用.比 ...

  3. 如何使用g++编译调用dll的c++代码

    本文将有以下4个部分来讲如何使用g++编译调用dll的c++代码. 1.如何调用dll 2.动态链接和静态链接的区别 3.g++的编译参数以及如何编译调用dll的c++代码 4.总结 1.如何调用dl ...

  4. Golang调用Dll案例

    Golang调用Dll案例 前言 在家办公已经两个多星期了,目前最大的困难就是网络很差.独自一个人用golang开发调用dll的驱动程序.本来就是半桶水的我,还在为等待打开一个页面而磨平了耐心.本想依 ...

  5. Windows平台Go调用DLL的坑

    最近的项目中,使用了GO来开发一些服务中转程序.业务比较简单,但是有一些业务需要复用原有C++开发的代码.而在WINDOWS,用CGO方式来集成C/C++代码并不是太方便.所以用DLL把C++的代码封 ...

  6. Java 调用 C++ (Java 调用 dll)康哥手把手教你

    摘要: 本文原创,转载请注明地址 http://www.cnblogs.com/baokang/p/4979243.html 因为要做点图形处理的项目,需要在Java中调用dll库,所以开发的第一步是 ...

  7. 【转】C#调用DLL

    C#中如何调用动态链接库DLL(转)     每种编程语言调用DLL的方法都不尽相同,在此只对用C#调用DLL的方法进行介绍.首先,您需要了解什么是托管,什么是非托管.一般可以认为:非托管代码主要是基 ...

  8. C#程序实现动态调用DLL的研究(转)

    摘 要:在<csdn开发高手>2004年第03期中的<化功大法——将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资 ...

  9. 外壳exe通过反射调用dll时

    外壳exe通过反射调用dll时,dll是 4.0的框架,外壳exe也需要编译成4.0的框架,如果dll本身有调用32位的dll,那么外壳exe也需要编译成32位. 调试时报的那个错,直接继续运行,不影 ...

随机推荐

  1. Lua中 MinXmlHttpRequest如何发送post方式数据

    local xhr=cc.XMLHttpRequest:new() xhr.responseType=cc.XMLHTTPREQUEST_RESPONSE_JSON xhr:open(“POST”,& ...

  2. 技术宅之flappy bird 二逼鸟

    师雪坤和刘阳 风靡一时的虐心小游戏<Flappy Bird>,以玩法简单.难度超高著称,不过,最近这款让全世界玩家几欲怒摔手机的游戏,被两位中国技术宅设计的"玩鸟机器人" ...

  3. VMware虚拟机下安装CentOS7.0超详细图文教程

    1.本文说明: 官方的第一个文本档案.也就是0_README.txt,大概意思是这样(渣翻译,但是大概意思还是有的). CentOS-7.0-1406-x86_64-DVD.iso:这个镜像(DVD ...

  4. Java中static关键字用法总结

      1.     静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法 声明为static的方法有以下几条限制: · 它们仅能调用其他的static 方法. · ...

  5. ubuntu mysql 数据库备份以及恢复[命令行]

    之所以加了个ubuntu,其实也没什么,就是恢复数据库的时候给幽默了一下,所以特地加上.   写在前面:一直很想好好的学linux命令行.shell编程,幻想自己能够通过学习进而成为命令行高手,游刃于 ...

  6. POJ1128 Frame Stacking(拓扑排序)

    题目链接:http://poj.org/problem?id=1128 题意:给你一个平面,里面有些矩形(由字母围成),这些矩形互相有覆盖关系,请从求出最底层的矩形到最上层的矩形的序列,如果存在多种序 ...

  7. 1044: Access denied for user 'hehe'@'localhost' to database 'imooc'

    当我使用 mysql授予用户时, GRANT ALL PRIVILEGES ON *.* TO hehe IDENTIFIED BY 'some' WITH GRANT OPTION; 出现:1044 ...

  8. CSS cursor 属性

    cursor 1.定义和用法 cursor 属性规定要显示的光标的类型(形状). 该属性定义了鼠标指针放在一个元素边界范围内时所用的光标形状(不过 CSS2.1 没有定义由哪个边界确定这个范围). 2 ...

  9. MySQL存储引擎与事务

    1.作用 和磁盘的数据打交道 2.简介 MySQL  基于存储引擎管理 表空间数据数据文件 3.种类 Innodb存储引擎ibd:存储表的数据行和索引frm:表基本结构信息Myisam存储引擎frmm ...

  10. linux多服务器之间的目录文件同步

    一.rsync是什么 在开始正式学习rsync之前,我们先来回答这个问题:rsync是什么. rsync(remote synchronize)是Liunx/Unix下的一个远程数据同步工具.它可通过 ...