我在用节点自动启动 https://github.com/Teamwork/node-auto-launch计算机重新启动后启动我的应用程序。此应用程序仅适用于 Windows。我希望该应用程序默认以最小化方式启动,因为它在后台运行。我怎样才能实现这个目标?
let bizAnalystAutoLauncher = new AutoLaunch({
name: 'BizAnalystDesktop'
});
bizAnalystAutoLauncher.enable();
bizAnalystAutoLauncher.isEnabled()
.then(function (isEnabled: boolean) {
if (isEnabled) {
return;
}
bizAnalystAutoLauncher.enable();
})
.catch(function (err: any) {
// handle error
console.log(err);
});
我不希望应用程序被隐藏。应用程序图标应该在任务栏的系统托盘中可见。
所以你想要某种“最小化到托盘”行为。
以通常的方式初始化您的应用程序,而不是mainWindow.show()
你打电话mainWindow.minimize()
初始化mainWindow后,然后为mainWiondw添加EventListenersminimize
and restore
通过事件隐藏或显示应用程序的任务栏图标mainWindow.setSkipTaskbar()
:
...
mainWindow.on('restore', () => {
mainWindow.setSkipTaskbar(false)
})
mainWindow.on('minimize', () => {
mainWindow.setSkipTaskbar(true)
})
...
添加一个托盘菜单,如下所示文档 https://github.com/electron/electron/blob/master/docs/api/tray.md但请确保添加一个菜单项来恢复应用程序窗口,否则您最终会得到一个最小化后无法访问的应用程序:
...
const trayMenu = Menu.buildFromTemplate([
{
label: 'Show',
click: () => {
mainWindow.restore()
}
},
{
label: 'Quit',
role: 'quit'
}
])
tray.setContextMenu(trayMenu)
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)