我正在使用电子5.0.0,并且正在尝试使用Windows JumpList和Task类别退出我的电子应用程序。
{
program: process.execPath,
arguments: '--new-window',
iconPath: process.execPath,
iconIndex: 0,
title: 'New Window',
description: 'Create a new window'
}
])
我正在尝试从电子网站修改示例代码,我需要更改参数
“参数字符串-执行程序时的命令行参数。”
我知道Windows内置了--new-window之类的参数
所以我的问题是Windows是否具有退出应用程序的功能,或者我是否需要自定义参数?
编辑:
我尝试使用第二实例事件,但是当用户单击任务时似乎没有调用它
app.setUserTasks([
{
program: process.execPath,
arguments: '--force-quit',
iconPath: process.execPath,
iconIndex: 0,
title: 'Force Quit App',
description: 'This will close the app instead of minimizing it.'
}
])
app.on('second-instance', (e, argv)=>{
console.log("secinst" + argv)
if(argv === '--force-quit'){
win.destroy();
}
})
答案 0 :(得分:1)
如果您设置这样的任务:
app.setUserTasks([
{
program: process.execPath,
arguments: '--force-quit',
iconPath: process.execPath,
iconIndex: 0,
title: 'Force Quit App',
description: 'This will close the app instead of minimizing it.'
}
])
单击时,这将使用命令行参数--force-quit
启动应用程序的新实例。您应该处理该论点。
仅当您允许运行single instance个应用程序时,您的用例才有意义。您需要从argv
事件中获取second-instance
。
const { app } = require('electron')
let myWindow = null
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
app.quit()
} else {
app.on('second-instance', (event, argv, workingDirectory) => {
// Someone tried to run a second instance
const forceQuit = argv.indexOf("--force-quit") > -1;
if (forceQuit) app.quit()
})
// Create myWindow, load the rest of the app, etc...
app.on('ready', () => {
})
}