系统启动时自动启动到系统托盘-电子+离子应用程序

问题描述

第一次使用离子电容器+电子在电子桌面应用程序上工作,我在自动启动系统托盘功能时遇到问题。我需要的是在系统启动时自动启动应用程序,例如系统托盘中的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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...