Electron 系统托盘 托盘右键菜单、托 盘图标闪烁 点击右上角关闭按钮隐 藏到托盘
Electron 创建任务栏图标以及任务栏图标右键菜单
const path = require('path')
const { Menu, Tray, app, BrowserWindow } = require('electron')
const appIcon = new Tray(path.join(__dirname, 'lover.png'))
const menu = Menu.buildFromTemplate([
{
label: '设置',
click() {},
// 打开相应页面
},
{ label: '帮助', click() {} },
{ label: '关于', click() {} },
{
label: '退出',
click() {
//
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
监听任务栏图标的单击、双击事件
const { Menu, Tray, app, BrowserWindow } = require('electron')
const appIcon = new Tray(path.join(__dirname, 'lover.png'))
appIcon.on('double-click', () => {
console.log(win)
win.show()
})
1
2
3
4
5
6
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
13
2
3
4
5
6
7
8
9
10
11
12
13
Electron 实现任务栏闪烁图标
timer = setInterval(() => {
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
9
2
3
4
5
6
7
8
9