ipcMain /docs/api/ipc-main
当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息, 当然也有可能从主进程向渲染进程发送消息
ipcRenderer /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() {// closripcRenderer.send('master-close', 'render-index')},sendMinimize() {// minimizeipcRenderer.send('master-minimize', 'render-index')},sendmMximize() {// maximizeipcRenderer.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();}})