electron鼠标经过托盘显示自定义菜单

Posted 友 点胡说八道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了electron鼠标经过托盘显示自定义菜单相关的知识,希望对你有一定的参考价值。

1.自定义菜单

  // 自定义菜单
  var templateMenu = [
      label: "首页",
      submenu: [ label: "111" ,  label: \'9089\' ]
  , , 
      label: "编辑",
      submenu: [ label: \'123\' ]
  ]
  testmenu = Menu.buildFromTemplate(templateMenu);

2. 在鼠标经过托盘事件中展示自定义菜单

//isLeave 是自定义是否鼠标离开字段,默认为true,   tray是托盘
tray.on(\'mouse-move\', () => 
      if (isLeave) 
          //触发mouse-enter
          isLeave = false;
          checkTrayLeave();//检查是否离开
          testmenu.popup();//打开
      
  )

 3.检查方法

//检查是否离开
function checkTrayLeave()
    clearInterval(leaveInter)
    leaveInter = setInterval(function()
        trayBounds = tray.getBounds();
        point = screen.getCursorScreenPoint();
        if(!(trayBounds.x < point.x && trayBounds.y < point.y && point.x < (trayBounds.x + trayBounds.width) && point.y < (trayBounds.y  + trayBounds.height)))//触发mouse-leave
            clearInterval(leaveInter);
            isLeave = true;
            testmenu.closePopup();
        
    , 100)

 

Electron setLoginItemSettings 在托盘菜单应用程序上不起作用

【中文标题】Electron setLoginItemSettings 在托盘菜单应用程序上不起作用【英文标题】:Electron setLoginItemSettings doesn't work on tray menu app 【发布时间】:2021-07-05 11:56:51 【问题描述】:

我正在尝试自动启动我的电子应用程序,电子文档提供 instructions。 我用这段代码尝试了电子快速启动应用程序:

app.setLoginItemSettings(
  openAtLogin: true
)

这可以正常工作,没有任何问题。

但我的电子应用程序只是一个在后台运行的主进程(没有 BrowserWindow)。当我在其中使用此设置时,它会创建启动条目,但不会在 Windows 登录时启动。

【问题讨论】:

【参考方案1】:

经过大量试用,我发现具有管理权限的电子应用程序无法在启动时自动启动。您需要从 package.json 中删除该权限,然后它应该可以正常工作。

【讨论】:

以上是关于electron鼠标经过托盘显示自定义菜单的主要内容,如果未能解决你的问题,请参考以下文章

Electron setLoginItemSettings 在托盘菜单应用程序上不起作用

Qt之自定义托盘

webview 的右键菜单

electron最小化到托盘video停止

electron系统托盘

05.electron-(自定义菜单)