如何解决系统启动时自动启动到系统托盘-电子+离子应用程序
第一次使用离子电容器+电子在电子桌面应用程序上工作,我在自动启动系统托盘功能时遇到问题。我需要的是在系统启动时自动启动应用程序,例如系统托盘中的Slack或Skype,而不是窗口。
我尝试了自动启动程序包,但是即使将属性设置为“ isHidden:true”,启动后仍会显示该窗口。
//Adding auto-launch feature
let autoLaunch = new AutoLaunch({
name: 'App',path: app.getPath('exe'),isHidden: true
});
autoLaunch.enable();
autoLaunch.isEnabled()
.then(function(isEnabled){
if(isEnabled){
return;
}
autoLaunch.enable();
})
.catch(function(err){
// handle error
});
然后,我将自动启动包含在app.setLoginItemSettings中,而不是openAsHidden属性,该属性也不起作用,并且在系统启动时显示该窗口:
app.setLoginItemSettings({
openAtLogin: true,path: updateExe,openAsHidden : true,args: [
'--processStart',`"${exeName}"`,'--process-start-args',`"--hidden"`
]
})
然后我将show()替换为hide(),而在dom就绪时将其启动时将应用程序推送到系统托盘,但是现在的问题是,单击应用程序文件后其隐藏了,我只能通过系统托盘打开它。我正在寻找一种解决方案,该解决方案将在单击应用程序文件后打开该应用程序,但是在启动时它将自动启动到系统托盘。与Slack或Skype应用类似。
mainWindow.webContents.on('dom-ready',() => {
mainWindow.show(); // replaced with mainWindow.hide()
});
我使用电子打包程序生成了应用文件。
Windows版本:Windows 10
更新 理解app.setLoginItemSettings的openAsHidden属性仅适用于MAC。那么,如何在Windows上隐藏诸如Slack启动之类的电子应用程序呢?他们使用哪种方法?还是有一种方法可以确定应用程序是由系统启动还是由用户打开的,因此可以将dom-ready事件相应地用于windows.hide()和windows.show()。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。