我知道如何使用ipcRenderer.send()
和ipcMain.on()
将事件从渲染器进程发送到主进程。我还可以使用event.sender.send()
将回复发送回渲染器进程,但是如何将主进程中的事件发送到所有渲染器进程,更像是广播。
答案 0 :(得分:3)
您可以创建对BrowserWindow实例的引用数组,当需要全局事件时,您可以使用发送方函数映射它,例如:
let windows = [];
let backgroundComputation = new BrowserWindow(options);
let webInteractions = new BrowserWindow(different_options);
let imageProcessing = new BrowserWindow(another_options);
windows.push(backgroundComputation)
windows.push(webInteractions)
windows.push(imageProcessing)
let sender = (message, windows) =>
windows.map((ref) => ref.webContents.send('event_name', message))
如果你有很多这样的话,这可能会很方便。您还可以将选项alwaysOnTop:true
中的标记设置为true,以使窗口位于顶部,以便任何其他窗口保持在下方。希望这有帮助!