• Electron 系统托盘 托盘右键菜单、托 盘图标闪烁 点击右上角关闭按钮隐 藏到托盘
  • Artiely
  • #electron#nodejs
  • 2018-07-09
  • 181
  • 1 min read
  • loading...

Electron 系统托盘 托盘右键菜单、托 盘图标闪烁 点击右上角关闭按钮隐 藏到托盘


Electron 创建任务栏图标以及任务栏图标右键菜单

var { Menu, Tray, app, BrowserWindow } = require('electron')
const path = require('path')
var appIcon = new Tray(path.join(__dirname, 'lover.png'))
const menu = Menu.buildFromTemplate([
  {
    label: '设置',
    click: function() {},
    //打开相应页面
  },
  { label: '帮助', click: function() {} },
  { label: '关于', click: function() {} },
  {
    label: '退出',
    click: function() {
      //
      BrowserWindow.getFocusedWindow()
        .webContents()
        .send('close-main-window')
      app.quit()
    },
  },
])
appIcon.setToolTip('my best app')
appIcon.setContextMenu(menu)
复制成功
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

监听任务栏图标的单击、双击事件

var { Menu, Tray, app, BrowserWindow } = require('electron')
var appIcon = new Tray(path.join(__dirname, 'lover.png'))
appIcon.on('double-click', () => {
  console.log(win)
  win.show()
})
复制成功
1
2
3
4
5
6

Electron 点击右上角关闭按钮隐藏任务栏图标

const win = BrowserWindow.getFocusedWindow()
win.on('close', e => {
  console.log(win.isFocused())
  if (!win.isFocused()) {
    win = null
  } else {
    e.preventDefault()
    /*阻止应用退出*/

    win.hide() /*隐藏当前窗口*/
  }
})
复制成功
1
2
3
4
5
6
7
8
9
10
11
12

Electron 实现任务栏闪烁图标

timer = setInterval(function() {
  count++
  if (count % 2 == 0) {
    appIcon.setImage(path.join(__dirname, 'empty.ico'))
  } else {
    appIcon.setImage(path.join(__dirname, 'lover.png'))
  }
}, 500)
复制成功
1
2
3
4
5
6
7
8