electron-vue 实现最小化到托盘

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()
});
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容