Electron 是一个用于构建跨平台桌面应用程序的开源框架,它基于 Chromium 和 Node.js。在 Electron 应用程序中,可能需要多个窗口之间进行通信,以实现数据共享和交互。本文将介绍一些在 Electron 中实现多窗口间通信的常用方式,并提供相应的源代码示例。
- 使用主进程和渲染进程之间的 IPC 通信
Electron 应用程序由主进程和一个或多个渲染进程组成。主进程负责管理窗口和应用程序的生命周期,而渲染进程则负责呈现窗口的内容。通过 Electron 的 IPC (Inter-Process Communication) 机制,主进程和渲染进程可以相互发送消息和数据。
在主进程中,可以使用 ipcMain
模块监听来自渲染进程的事件,并通过 event.sender.send
方法向渲染进程发送消息。在渲染进程中,可以使用 ipcRenderer
模块发送消息给主进程,并通过监听 ipcRenderer.on
事件接收主进程发送的消息。
下面是一个简单的示例,演示了通过 IPC 在两个窗口之间发送和接收消息:
在主进程的代码(main.js)中:
const