如何在node-webkit中调用dll

如何在node-webkit中调用dll,第1张

最近在研究nodejs和node-webkit,需要在node-webkit应用中调用dll ,折腾了好久,遇到不少麻烦,国内没怎么介绍具体方法,就将这几天的研究成果说明下,希望对后来人有用。

( 图片粘贴不了,我把教程和涉及到的软件都上传到下面的链接去了)

说明:本文档主要说明如何通过nodejs中的ffi和ref模块来调用c的dll文件,并使node-webkit可以调用dll(涉及的软件已全部打包,可以到桐蚂中下面的链接去下载 :http://download.csdn.net/detail/aichikaochang/7000791 )。

1 安装nodejs,在http://nodejs.org/download/上下载32位的.msi文件,直接安装,如下所示(版本号为0.10.26):

将安装后的目录添加的环境变量中,如:D:\Program Files\nodejs (主要目的是使该目录下的node.exe可以在命令行中运行)。

2 安装python2.7版本,并设置环境变量。

3 下载node-webkit压缩文件,版本为0.8.4 。

4 安装node-gyp和nw-gyp ,这个node- www.jdjdzj.com gyp将c文件编译成nodejs的包的编译工具,nw-gyp是将c文件编译成node-WebKit的包的编译工具,具体安装方法如下:

进入cmd命令模式,输入npm install node-gyp 即可

再次输入 npm install nw-gyp即可

5 安装ffi和 ref模块,并重新编译成node-webkit可用的包,具体如下:

在命令行模式中输入:

npm install ffi

npm installref

这样会在本用户目录下生成node_modules文件夹,里面内容物扮如下:

命令行模式进入到此目录下

下面通过nw-gyp来将ffi和ref模块重新编译。

由于ffi中包含ref模块,所以要先将ffi模块中的ref先编译,然后再将ffi编译,如下:

注意:编译命令一定要在含有package.json文件的目录下运行,命令后的—target=0.8.4是针对node-webkit的版本的,如果不是这个版本,需要改成自己的版本。最后将ref模块编译下即可。

6 编辑项目的package.json文件,此文件主要是node-webkit调用你的应用的配置文件,需要在里面添加

"webkit": {

"plugin": true

}此选项说明你的应用需要调用第三方包,也就是node_modules/ 目录下的ffi和ref包,一个例子如下:

7下面通过一个例子来说明如何在js中调用dll :

8 最后将你的应用包括node_modules和你需要调用的dll一起压缩打包,压缩方式必须是z7(通过好压或其他压缩软件,只要后缀名是.zip的应该都可以),压缩后的文件后缀名必须是.nw,然后将局山该文件拷贝到node-webkit的目录下,拖进nw.exe即可执行。

9 注意: 由于ffi模块是为C语言的dll包服务的,所以你自己编写的dll必须要有 extern “C” 来修饰 。

解决凯数方法如下 :

开始——运行——输入:gpedit.msc

"本地计算机策略“——"计算机配置 "——"windows

设置"——"安全设置 "—镇孙御—"软件限制策略" 然后右键 "创建软件限制策略" 然后 会增加一个 "安全级别" 和 "其他规则" 选中

"其他规则" =>"新建路径规则" 然后在目录里指向你的软件御岩目录.找到软件安装的路径,例如

C:\Users\”用户名”\AppData\Local\Google\Chrome\Application\chrome.exe

(路径视你安装情况而定)选择"不受限制" 就可以打开chrome了。

Google

Chrome,又称Google浏览器,是一个由Google(谷歌)公司开发的网页浏览器。该浏览器是基于其他开源软件所撰写,包括WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。软件的名称是来自于称作Chrome的网络浏览器图形使用者界面(GUI)。

软件的beta测试版本在2008年9月2日发布,提供50种语言版本,有Windows、Mac OS

X、Linux、Android、以及iOS版本提供下载。

使用node-webkit的话首先得有个配置文件渣局正package.json,内容类似于

{

"name": "test",

"main": "index.html"

}

主要是第二个要配置成你的html的名称,这个文件和你的html文件一同放到同一个文件夹下,有js文如悔件或css的话也放进去.

然后将这个文件夹拖放到腊局nw.exe的程序图标上,nw.exe就会自动打开这个文件夹找到里面的package.json文件,并根据里面配置的main路径打开你的html了.

建议看下官方给的样例.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12355110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存