#javascript #electron #invoke #ipcrenderer
#javascript #electron #вызвать #ipcrenderer
Вопрос:
В Electron ipcRenderer.invoke() не работает после открытия приложения, когда экземпляр уже создан. Вот мой код:
// Force Single Instance Application
const gotTheLock = app.requestSingleInstanceLock()
if (gotTheLock) {
app.on('second-instance', (e, argv) => {
// Someone tried to run a second instance, we should focus our window.
// Protocol handler for win32
// argv: An array of the second instance’s (command line / deep linked) arguments
if (process.platform == 'win32') {
// Keep only command line / deep linked arguments
deeplinkingUrl = argv.slice(1);
}
if (deeplinkingUrl.length > 0) {
mainWindow.webContents.send('url', deeplinkingUrl);
}
logEverywhere('app.makeSingleInstance# ' deeplinkingUrl);
if (mainWindow) {
if (mainWindow.isMinimized()) {
mainWindow.restore();
}
mainWindow.focus();
}
app.whenReady().then(() => {
mainWindow = createWindow()
})
})
} else {
app.quit();
}
Есть ли другой способ отправки информации из средства визуализации в основной без использования ipcRenderer.invoke() и ipcMain.handle()? Или есть способ продолжить использование ipcRenderer.invoke()?
Пример моего кода средства визуализации, который работает с первым экземпляром, но не со вторым
while (
(await ipcRenderer.invoke(
"getVariableValue",
"storageEncrypted"
)) == false
) {
Комментарии:
1. опубликуйте свой код средства визуализации
2. Я опубликовал пример моего кода средства визуализации, который не работает во втором экземпляре.