--------------------------------------DAY 4--------------------------------------------------------------
Q:测试之后,发现electron已经可以准确的知道windows进程的窗口句柄HWND,接下来要利用ipc,把electron进程的主窗口发送给HWND

A:原生的API做不到,我们要导入win32的DLL和库之类的东西,在electron里面调用user32.dll里面的sendMessage函数

————参考 https://www.cnblogs.com/Starts_2000/p/electron-ffi.html

先安装Python 2.7(x64), 然后设置好环境变量,可以在cmd下直接输入python命令得到相应的提示

Q:准备使用命令 npm install来安装依赖包ffi, 发现报错:

gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.

A: 先使用 npm install -g node-gyp 命令安装node-gyp, 再使用命令
Q:在git bash的命令行下直接输入python ,提示  bash: python: command not found

A:在cmd中有python的环境变量,但是不知道为什么在git bash的命令行下没有,在cmd下输入命令npm install也是同样的问题,找不到python

原来是因为在用户环境变量中设置了,但是没有在系统环境变量中设置

Q:安装python 2.7 ,在cmd下输入python有反应————说明环境变量设置没有问题,但是在输入npm install去安装ffi依赖包时,就提示找不到Python
A: 我重新安装了python 2.7————这回换成了32位的msi文件来安装,然后输入npm install 又出现了新的问题。

Q: 归根结底就是 ffi的安装问题,参考https://futurestud.io/tutorials/how-to-build-nodegyp-to-run-bcrypt-on-windows 先来一遍 node-gyp的安装
最后,node-gyp似乎安装好了。

知其然,还要知其所以然,node-gyp是一个本地插件生成工具 
Q:在运行node-gyp config的时候出现了错误,也就是说,我们的node-gyp是有错误的:
binding.gyp not found (cwd: C:\Users\admin\Desktop\electron_example) while trying to load binding.gyp
A: 也就是说找不到这个文件,我根据 https://github.com/nodejs/node-gyp#installation 的指引,手动创建了一个————欲知后事如何,请往下阅读

重新来一遍,在原来的electron运行成功的前提下再来一次
npm install -g node-gyp 全局安装node-gyp  -----------> 安装成功
输入命令 npm config set msvs_version 2013 搞定2013版本
接下来其实就是 node-gyp怎么使用的问题!!!————————是不能直接用npm install ffi来安装的,会报错,缺少几个文件
Q:那么src\binding.cc, node_modules\ref\build\binding.vcxproj 这2个文件该如何生成呢??————一脸懵逼???

Q:报错:某.node文件was compiled against a different Node.js version using NODE_MODULE_VERSION 51. This version of Node.js requires
NODE_MODULE_VERSION 53. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or`npm install`).
A:参考 https://stackoverflow.com/questions/42616008/node-module-version-conflict-when-installing-modules-for-electron ——————按照上面的方法解决了- -

Q:再次运行,出现了新问题,如下图:

A:
http://blog.csdn.net/jackyvan/article/details/47261365

binding.node这个是我们用node-gyp生成来的,我们的node-gyp还没有完全配置好,肯定生成出来的程序不完整,就不是一个有效的exe啦
所以,归根结底还是node-gyp安装之后的配置,第一步是 node-gyp configure, 那么对应的binding.gyp 是干什么用的呢

决定卸载重装全部再来一次0 0 
node.js(含npm)重新装了
electron重装可以运行了
node-gyp也重装了(没有自带,亲测)——————安装之后也是可以直接uninstall卸载的
准备回家试试node-gyp这个东西,它的作用是让node调用C++的DLL ——————参考https://www.npmjs.com/package/ffi

在不安装node-gyp的情况下,基本没问题。
安装了node-gyp之后,也对原文件没有影响
其实,我该仔细研究一下node-gyp, 为什么安装ffi之间一定要安装node-gyp呢?

报错: C:\Users\admin\.node-gyp\8.9.1\ia32\node.lib : fatal error LNK1127: 库已损坏

重点参考 http://deadhorse.me/nodejs/2012/10/08/c_addon_in_nodejs_node_gyp.html(尝试看懂node-gyp的作用)————binding.gyp指定C部分源文件路径和最终生成模块的名称,此例中将会生成一个可以被node调用的binding.node文件,如下:

{'targets': [{'target_name': 'binding','sources': [ 'binding.cc' ]}]
}

http://blog.csdn.net/cut001/article/details/68922780
node-gyp应该是让我们可以加入一些C语言给我们的node调用,猜测ffi就是用C语言写好的兼容node.js的win32 API的封装。利用node-gyp去安装好ffi这个模块

(四)electron尝试使用win32 API——node-gpy到底是干嘛的?相关推荐

  1. C#调用Win32 api学习总结

    转载:https://blog.csdn.net/bcbobo21cn/article/details/50930221 从.NET平台调用Win32 API Win32 API可以直接控制Micro ...

  2. Win32 API、VC++、C# 文件操作函数的初步比较

    一 C# File.ReadAllText(FilePath) : 一次将文本内容全部读完, File.ReadAllLines: 该方法返回一个字符串数组.每一行都是一个数组元素. string[] ...

  3. COMMCONFIG进行配置的WIN32 API

    掌握串行通信API函数的用法是掌握串行通信编程技术的关键. 在Win32中,系统将串行口与文件统一了起来, 对它们的打开.读写.关闭等操作都使用相同的API函数,但是它们之间又有差别,这些差别主要体现 ...

  4. 在C#程序设计中使用Win32 API

    C# 用户经常提出两个问题:"我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?"当框架小组构建他们的 .NET 部分 ...

  5. python getmenu不到菜单句柄,从弹出菜单win32 api Python中选择项目

    我在 Windows 7 64位机器上使用python 2.7(32位).我正在使用win32 Api自动执行一些Windows任务,我也是python和win32 api的新手.我看到了类似的问题, ...

  6. WIN32:API串口通讯实例教程

    WIN32 API串口通讯实例教程   第一节   实现串口通讯的函数及串口编程简介   API函数不仅提供了打开和读写通讯端口的操作方法,还提供了名目繁多的函数以支持对串行通讯的各种操作.常用函数及 ...

  7. WIN32 API串口通信编程

    WIN32 API串口通讯实例教程 第一节实现串口通讯的函数及串口编程简介 API函数不仅提供了打开和读写通讯端口的操作方法,还提供了名目繁多的函数以支持对串行通讯的各种操作.常用函数及作用下: 函数 ...

  8. C++ 纯WIN32 API编程 悦读器实战示例

    /* 最后修改:2020-09-21 14:04 <C++编程示例大全> 作者:张国鹏 本例功能:C++ 纯WIN32 API编程 悦读器实战示例 软件下载:http://lovegp.c ...

  9. 揭示win32 api拦截细节

    转自啊D 原文出处:http://www.codeproject.com/system/hooksys.asp     拦截win32 API 调用对于多数windows开发人员来说都一直是很有挑战性 ...

最新文章

  1. 【K8S实践】关于Kubernetes Dashboard的实践学习
  2. 8086汇编-做1到100的加法并显示结果
  3. Android屏幕大小适配问题解决
  4. 前端学习(284):纯css实现翻书效果
  5. 【数据库系统】SQL基本固有类型
  6. 计算机图形图像项目教程素材,案例任务驱动法在图形图像教学中的运用
  7. powershell自动化操作AD域、Exchange邮箱系列(6)——获取并监控内存、CPU占用率
  8. React Native RSA加密
  9. [转载] 用Tkinter打造GUI开发工具(45)用Tkinter做自己的中文代码编辑器
  10. vmware启动虚拟机提示“无法连接虚拟设备ide1:0,主机上没有相对应的设备“
  11. 检测xposed框架实现
  12. win10 安全模式开机
  13. [附源码]Python计算机毕业设计SSM京津冀畅游网设计(程序+LW)
  14. 嵌入式linux环境取得U盘容量等信息的方法
  15. Docker国内镜像地址和下载安装
  16. 办公室日常管理信息系统 数据库课程设计
  17. Opencv分类器的训练(内含文件批量改名工具及负样本图包下载地址)
  18. ATCODER abc240部分题解
  19. 三调 图斑地类面积_收藏 | “三调数据”与国土空间规划用地对接的70个技术问题...
  20. 便捷式备份系统并还原

热门文章

  1. 广读精思:外文期刊那些事(下)
  2. 使用宏处理多个Excel工作簿-个人工作簿
  3. 叩问教育公平:财经郎眼20150209
  4. 阿里巴巴,java开发守则
  5. 使用Vitamio打造自己的Android万能播放器—— 手势控制亮度、音量、缩放
  6. Nginx配置+注释
  7. Ninth season nineteenth episode,Rachel had a dream. She kissed Joey??????
  8. vue项目中将页面生成图片或者PDF文档
  9. vulnhub靶机 djinn1
  10. 如何自建微信外卖平台_微信外卖软件怎么搭建需要多少钱