Взгляните на этот пример , он построен с использованием угловых и электронных.
Вам просто нужно убедиться в следующем для пользовательского URI для работы с окнами:
Сначала выполняется только одно мгновение, проверяя app.requestSingleInstanceLock()
, верно ли это, затем вам нужно выйти из приложения app.quit()
. потому что нам нужен только один экземпляр для запуска. Во-вторых, вы должны обработать событие second-instance
app.on('second-instance', (event, args) => {})
const customSchemeName = 'x-company-app';
const primaryInstance = app.requestSingleInstanceLock();
if (!primaryInstance) {
app.quit();
return;
}
// The primary instance of the application will run this code, not the new instance
app.on('second-instance', (event, args) => {
// handle custom uri
}
...
// Register private URI scheme for the current user when running for the first time
app.setAsDefaultProtocolClient(customSchemeName);
// Handle custom uri requests against the running app on Mac OS
app.on('open-url', (event, customSchemeData) => {
event.preventDefault();
// handle the data
});
...
У меня была та же проблема с Windows, это исправило ее для меня, я проверил ее, и она работает. кредиты идет к Гэри Арчер.