import {Menu, Tray} from 'electron';
import path from 'path';
let tray = null;
function createWindow() {
....//这里还是原来的逻辑
//创建系统通知区菜单
tray = new Tray(`${__static}/app.ico`);
const contextMenu = Menu.buildFromTemplate([
{ label: '退出', click: () => { win.close() } },//我们需要在这里有一个真正的退出(这里直接强制退出)
])
tray.setToolTip('云隐')
tray.setContextMenu(contextMenu)
tray.on('click', () => { //我们这里模拟桌面程序点击通知区图标实现打开关闭应用的功能
win.isVisible() ? win.hide() : win.show()
win.isVisible() ? win.setSkipTaskbar(false) : win.setSkipTaskbar(true);
})
win.on('show', () => {
tray.setHighlightMode('always')
})
win.on('hide', () => {
tray.setHighlightMode('never')
})
...
ipcMain.on("window-min", function () {
// 收到渲染进程的窗口最小化操作的通知,并调用窗口最小化函数,执行该操作
// win.minimize();
// win.hide()
win.minimize();
});
// 关闭窗口
ipcMain.on("window-close", function () {
// win.close();
win.hide()
});
网友评论