制作供js调用的dll并调用
来源:互联网 发布:厦门科华 知乎 编辑:程序博客网 时间:2024/06/05 08:47
本文通过vs2010制作可以供javascript调用的dll
本文旨在完成一个c/c++编写的dll,里面有个方法,输入参数为long num返回参数为long* sum=num*10,然后通过js调用这个方法。
一 创建ATL项目
本机环境为64位win7操作系统,使用工具为vs2010
文件--新建--项目,找到ATL项目,输入项目名称,点击确定。(这里我们使用Test作为项目名称)
2 进入下个页面直接点击下一步
3 进入下个页面直接点完成
4 可以看到以下界面
5 右键点击 项目名称Test, 添加--类
6 在新弹出窗口中选中 ATL简单对象,点击添加
7 在新界面中填入类名,我们用Test,另外在ProgID里面填上TTT(这个我们js中要用到)
8 点击完成,至此ATL项目创建成功
遇到这两个地方都点是
二 添加方法
1 视图--类视图,打开Test,找到ITest
2 右键点击ITest,添加--方法
3 进入添加方法界面,填写方法名字test,选择传入参数和传出参数。
添加入参
添加返回参数
参数添加完毕
点击完成
4 下面编辑方法。打开 视图--解决方案资源管理器,找到Test.cpp并打开
在方法test里面我们添加以下代码
*sum=num*10;
保存。
5 调整项目模式为release
项目生成
生成成功
在 文件--打开--文件 中找到Test根目录,在release文件夹下, 找到生成的dll文件Test.dll
至此,dll制作成功。
四 注册dll
1 将Test.dll方到C:\Windows\System32下面(如果是64为系统机子,需要放到C:\Windows\SysWoW64下面)
2 用管理员身份打开命令行界面,将目录切换到放置Test.dll的目录(我的机子是C:\\Windows\SysWoW64) 运行 regsvr32 Test.dll
dll注册成功
五 用javascript调用dll
html页面代码如下
<html>
<head>
<title>Document</title>
<script>
var mydll=new ActiveXObject("TTT");
var result=mydll.test(5);
alert(result);
</script>
</head>
<body>
</body>
</html>
用ie浏览器打开以后,出现以下界面
标记控件为安全的 是实现IObjectSafety
具体做法 :atl com app wizard 工程增标记安全控件
1. 在你dll控件的接口实现类的 .h 中继承类列表的末尾添加下面一句话,并在上一行中添加一个逗号;
public IObjectSafetyImpl<"类名", INTERFACESAFE_FOR_UNTRUSTED_CALLER>
2. 将下行添加到 .h 中的 COM 映射:
COM_INTERFACE_ENTRY(IObjectSafety) 即可
3. 如果IObjectSafetyImpl 未定义 , 则包含Atlctl.h
- 制作供js调用的dll并调用
- vb制作dll供asp调用
- 利用C++制作dll并调用dll
- 利用C++制作dll并调用dll
- Dev-C++制作dll文件供Visual Basic调用程序
- dll的制作与调用
- 如何把.js文件编译成dll供页面调用
- 如何把.js文件编译成dll供页面调用
- 如何把js文件编译成dll供页面调用
- 用VC创建供PB调用的DLL
- 用VC创建供PB调用的DLL
- 如何用VC编写供JAVA调用的DLL
- 如何用VC编写供PB调用的DLL
- 供LoadRunner调用的一个简单Dll例子
- 用C#生成.dll 供VB6的开发人员调用
- C#生成基于COM的DLL供VB调用
- 如何用VC编写供PB调用的DLL (转)
- (转)C#生成基于COM的DLL供VB调用
- 利用jquery.mobile的swipeleft开发左右滑动功能
- iOS本地推送---常用开发中,通过消息传递信息
- linux下Redis的安装及C客户端API
- JNI调试
- 配置SecureCRT
- 制作供js调用的dll并调用
- Cocos2D-x在Win7上的安装及配置
- struts2文件上传大小默认限制问题
- cocos2dx 3.0以上创建项目步骤及生成apk
- 百度输入法
- IOS Demo
- UNABLE TO ACCESS AN ERROR MESSAGE CORRESPONDING TO YOUR FIELD NAME
- CSS中怎么让DIV居中
- 使用变量存储以下MP3信息,并打印输出