点击×然后隐藏应用到托盘中

发布时间 2023-05-04 18:37:05作者: 卿六

electron关闭页面隐藏到托盘

使用electron的Tray模块。该模块可以添加图标和上下文菜单到系统通知区。

下面是主要代码:

import { Menu, Tray} = require('electron');
let win;
function createMainWindow() {
  // 运行根路径获取托盘图标
  const rootSrc = process.cwd();

  const filePath = process.cwd() + "具体的路径";

  win = new BrowserWindow({配置项}) // 创建app

  win.on('close', (event) => {
    win.hide();
    win.setSkipTaskbar(true);
    event.preventDefault(); // 阻止默认事件,否则会直接关闭
  })
  
  // 创建系统通知区菜单
  // 注意文件路径,可能你的开发环境和生成环境不同
  tray = new Tray(filePath)
  const contextMenu = Menu.buildFormTemplate([
    { label: '退出', click: () => { win.destroy() } }, // 强制退出
  ])

  tray.setToolTip('隐藏托盘测试')
  tray.setContextMenu(contextMenu)
  tray.on('click', () => {
    win.isVisible() ? win.hide() : win.show()
    win.isVisible() ? win.setSkipTaskbar(false) : win.setSkipTaskbar(true);
  })
}