electron 主进程,和渲染进程的通信
ipcMain https://electronjs.org/docs/api/ipc-main
当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息, 当然也有可能从主进程向渲染进程发送消息
ipcRenderer https://electronjs.org/docs/api/ipc-renderer
使用它提供的一些方法从渲染进程 (web 页面) 发送同步或异步的消息到主进程。 也可以接收主进程回复的消息
使用自定义的 最小化,最大化,关闭按钮
渲染进程 html 片段
<div class="mdui-row-xs-3">
<div class="mdui-col" @click="sendMinimize">
<i class="mdui-icon material-icons"></i>
</div>
<div class="mdui-col" @click="sendmMximize">
<i class="mdui-icon material-icons"></i>
</div>
<div class="mdui-col" @click="sendClose">
<i class="mdui-icon material-icons"></i>
</div>
</div>
渲染进程 js 片段
const { ipcRenderer } = require('electron');
ipcRenderer.on('index-minimize', (e, msg) => {
// 监听主进程发来的事件...
})
sendClose() {// closr
ipcRenderer.send('master-close', 'render-index')
},
sendMinimize() {// minimize
ipcRenderer.send('master-minimize', 'render-index')
},
sendmMximize() {// maximize
ipcRenderer.send('master-maximize', 'render-index')
}
主进程 js 代码片段
const {
app,// 控制应用程序寿命的模块。
BrowserWindow, // 模块创建原生浏览器窗口。
ipcMain
} = electron;
let mainWindow;
ipcMain.on('master-close', (e, msg) => {
// 关闭master进程
app.quit();
})
ipcMain.on('master-minimize', (e, msg) => {
// 最小化 master进程
mainWindow.minimize();
// 主进程向 渲染进程发送消息
// e.sender.send('index-minimize', 'master')
})
ipcMain.on('master-maximize', (e, msg) => {
// 最大化 master进程
if (mainWindow.isMaximized()) {
mainWindow.unmaximize()
} else {
mainWindow.maximize();
}
})
electron 主进程,和渲染进程的通信的更多相关文章
- 使用electron进行原生应用的打包(2)---主进程与渲染进程之间的通信
上一篇讲了使用electron进行打包的配置相关文件,这篇主要讲electron中很重要的通信方式. 首先解释一个概念: electron打包的应用包含两个部分 electron的环境(node),也 ...
- 17-7-20-electron中主进程和渲染进程区别与通信
老规矩,先吐槽,再记录. 今天被上司教育了将近一个小时.因为之前自动更新的模块,我认为已经完成了,但是还有一些细节没有完善好,就一直一直的被教育~ 事情全部做完,提交以后关闭issue! electr ...
- 研究Electron主进程、渲染进程、webview之间的通讯
背景 由于某个Electron应用,需要主进程.渲染进程.webview之间能够互相通讯. 不过因为Electron仅提供了主进程与渲染进程的通讯,没有渲染进程之间或渲染进程与webview之间通讯的 ...
- Electron:主进程和渲染进程
- Visual Studio Code调试electron主进程
Visual Studio Code调试electron主进程 作者: jekkay 分类: electron 发布时间: 2017-06-11 14:56 一·概述 此文原出自[水滴石]: htt ...
- Electron结合React,在渲染进程中使用 node 模块
Electron结合React,在渲染进程中使用 node 模块 问题 将create-react-app与electron集成在了一个项目中.但是在React中无法使用electron.当在Reac ...
- Android SharePreference 在主进程和次进程间共享数据不同步出错
SharedPreference作为android五大存储(网络,数据库,文件,SharedPreference,contentProvider)之中最方便使用的一个,从类名上来看就不是一个存储大 ...
- Linux进程核心调度器之主调度器schedule--Linux进程的管理与调度(十九)
主调度器 在内核中的许多地方, 如果要将CPU分配给与当前活动进程不同的另一个进程, 都会直接调用主调度器函数schedule, 从系统调用返回后, 内核也会检查当前进程是否设置了重调度标志TLF_N ...
- C++和C#进程之间通过命名管道通信(上)
C++和C#进程之间通过命名管道通信(上) "命名管道"是一种简单的进程间通信(IPC)机制.命名管道可在同一台计算机的不同进程之间,或在跨越一个网络的不同计算机的不同进程之间,支 ...
随机推荐
- 【Storm】一张图搞定Storm的运行架构
- 微软BI 之SSIS 系列 - Lookup 组件的使用与它的几种缓存模式 - Full Cache, Partial Cache, NO Cache
开篇介绍 先简单的演示一下使用 Lookup 组件实现一个简单示例 - 从数据源表 A 中导出数据到目标数据表 B,如果 A 数据在 B 中不存在就插入新数据到B,如果存在就更新B 和 A 表数据保持 ...
- ionic 001
安装和穿件app npm install -g cordova ionic 使用模板创建app ionic start myApp blank ionic start myApp tabs ionic ...
- 学校公文办公处理系统_基于ASP.NET和Swfupload、FlashPaper2.2、校讯通短信发送的开发
学校新来了一个主管教学的副校长,他对他以前工作学校的公文处理系统表示高度留念,于是乎叫我们也开发一个. 我就参考了那个学校的办公管理系统,发现其实功能也蛮简单的,就是一个文件上传下载的功能,选择用户组 ...
- QT程序打包发布
本来感觉这是一个简单的操作,今天看见群里有人在问这个问题,他说网上查了很多都不成功,突然就想把自己初学的时候记录一下! 题目谢了QT程序的打包发布,那就是两步骤:打包+发布! 注释:这篇博文用的是Qt ...
- ROS actionlib学习(二)
在ROS actionlib学习(一)中的例子展示了actionlib最基本的用法,下面我们看一个稍微实际一点的例子,用actionlib计算斐波那契数列,并发布反馈(feedback)和结果(res ...
- SQL语句调优三板斧
改装有顺序------常开的爱车下手 你的系统中有成千上万的语句,那么优化语句从何入手呢 ? 当然是系统中运行最频繁,最核心的语句了.废话不多说,上例子: 这是一天的语句执行情况,里面柱状图表示的是对 ...
- SQL使用技巧
SQLServer 数据库变成单个用户后无法访问问题的解决方法 USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @SQL=@S ...
- CentOS 7.4安装Nginx 1.14.0
一.安装所需环境 1.gcc 安装 yum install gcc-c++
- Adobe Illustrator for Mac(矢量图处理软件)破解版安装
1.软件简介 Adobe Illustrator CC 是 macOS 系统上一款矢量绘图工具,可以说是是业界标准矢量绘图标杆,软件通过形状.色彩.效果及印刷样式,展现您的创意想法.在处理大型复 ...