Electron Tray 模块

用一个 Tray 来表示一个图标,这个图标处于正在运行的系统的通知区,通常被添加到一个 context menu 上。

示例代码

//主进程
const electron = require('electron');
const app = electron.app;
const Menu = electron.Menu;
const Tray = electron.Tray;
const BrowserWindow = electron.BrowserWindow;

var mainWindow = null;

app.on('window-all-closed', function () {
  if (process.platform != 'darwin') {
    app.quit();
  }
});

app.on('ready', function () {

  mainWindow = new BrowserWindow({ width: 800, height: 600 });
  mainWindow.loadURL('file://' + __dirname + '/index.html');
  mainWindow.openDevTools();
  mainWindow.on('closed', function () {
    mainWindow = null;
  });

  //系统托盘
  let trayMenuTemp = [
    {label: '设置', click: function () { } },
    {label: '意见反馈', click: function () { } },
    {label: '退出', click: function () { app.quit() } }
  ];
  let appTray = new Tray('app.ico');
  let contextMenu = Menu.buildFromTemplate(trayMenuTemp);
  appTray.setToolTip('思诚系统');
  appTray.setContextMenu(contextMenu);

  appTray.on("click", function(){
    mainWindow.isVisible() ? mainWindow.hide() : mainWindow.show();
  })

});