天天看點

electron tray托盤

tray托盤

let tray = null  // 在外面建立tray變量,防止被自動删除,導緻圖示自動消失
function createWindow () {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, 'preload.js')
    }
  })

  win.loadFile('index.html')

  // 當點選關閉按鈕
  win.on('close', (e) => {
    e.preventDefault();  // 阻止退出程式
    win.setSkipTaskbar(true)   // 取消工作列顯示
    win.hide();    // 隐藏主程式視窗
  })

  // 建立工作列圖示
  tray = new Tray(path.join(__dirname, 'appIcon', 'favicon.ico'))

  // 自定義托盤圖示的内容菜單
  const contextMenu = Menu.buildFromTemplate([
    {
      // 點選退出菜單退出程式
      label: '退出', click: function () {
        console.log(123);
        win.destroy()
        app.quit()

      }
    }
  ])

  tray.setToolTip('demo')  // 設定滑鼠指針在托盤圖示上懸停時顯示的文本
  tray.setContextMenu(contextMenu)  // 設定圖示的内容菜單
  // 點選托盤圖示,顯示主視窗
  tray.on("click", () => {
    win.show();
  })
}      

繼續閱讀