小编Cle*_*kel的帖子

2022 年 Electron 中从主进程向渲染器发送消息

在我的应用程序中,我有两个窗口:mainWindowactionWindow在我的 mainWindow 上,当 actionWindow 关闭时,我使用侦听器从主进程接收消息。ipcRenderer.on然而,该消息没有通过。

用于mainWindow控制在 上发生的操作actionWindow(例如导航到 URL、远程关闭窗口……)。我想赋予用户手动移动和关闭的权力actionWindow,这就是为什么它的标题栏可见且可用。

我通过预加载文件中的 contextBridgeipcRenderer.invoke公开双向通信并公开给 mainWindow 的渲染器。ipcRenderer.on

这就是代码的样子(基于vite-electron-builder 模板

主要流程

const mainWindow = new BrowserWindow({
  show: false, // Use 'ready-to-show' event to show window
  webPreferences: {
    nativeWindowOpen: true,
    webviewTag: false,
    preload: join(__dirname, "../../preload/dist/index.cjs"),
  },
});
const actionWindow = new BrowserWindow({
  // some props
})
actionWindow.on("close", () => {
  console.log("window closed")
  mainWindow.webContents.send("closed", { message: "window closed" }); …
Run Code Online (Sandbox Code Playgroud)

ipc electron

6
推荐指数
1
解决办法
979
查看次数

标签 统计

electron ×1

ipc ×1