zoukankan      html  css  js  c++  java
  • electron创建托盘?

    tray.js文件

    import {trayIcon} from '../config/StaticPath' const electron = require('electron'); const ipcMain = electron.ipcMain; const Menu = electron.Menu; const Tray = electron.Tray; const app = electron.app; let mainWindow = null; let appTray = null; // 托盘实例 // 隐藏主窗口,并创建托盘 function setTray() { // 判断是否存在托盘 if (appTray && !appTray.isDestroyed()) { // 隐藏主窗口 mainWindow.hide(); // 启动或停止闪烁窗口, 以吸引用户的注意。 mainWindow.flashFrame(true); return '已经创建过托盘' } // 当托盘最小化时,右击有一个菜单显示,这里进设置一个退出的菜单 let trayMenuTemplate = [{ // 系统托盘图标目录 label: '退出', click: function() { app.quit(); // 点击之后退出应用 } }]; // 创建托盘实例 appTray = new Tray(trayIcon); // 图标的上下文菜单 const contextMenu = Menu.buildFromTemplate(trayMenuTemplate); // 隐藏主窗口 mainWindow.hide(); // 启动或停止闪烁窗口, 以吸引用户的注意。 mainWindow.flashFrame(true); // 设置托盘悬浮提示 appTray.setToolTip('商盟订货,让生意更简单') // 设置托盘菜单 appTray.setContextMenu(contextMenu); // 单机托盘小图标显示应用 appTray.on('click', function() { // 显示主程序 mainWindow.show(); // 将窗口从最小化状态恢复到以前的状态 mainWindow.restore() // // 关闭托盘显示 // appTray.destroy(); }); return '创建完毕' } // 主进程监听打开托盘事件,每次点击关闭按钮执行 ipcMain.handle('open-tray', ()=>{ return setTray(); }) export default (main)=> { mainWindow = main; }

    使用:在你的窗口实例 

    this.mainWindow = new BrowserWindow({
          height: 800,
          useContentSize: true,
           1700,
          minWidth: 1366,
          show: false,
          frame: config.IsUseSysTitle, // 无边框窗口
          titleBarStyle: 'hidden',
          webPreferences: {
            webviewTag: true,
            nodeIntegration: true,
            webSecurity: false,
            // 如果是开发模式可以使用devTools
            devTools: process.env.NODE_ENV === 'development',
            // devTools: true,
            // 在macos中启用橡皮动画
            scrollBounce: process.platform === 'darwin'
          }
        })
    // 直接调用暴露出的tray函数 引入tray.js文件
    tray(this.mainWindow)
     
  • 相关阅读:
    iOS开发之JSONKit
    iOS开发之XMPPFramework环境搭建和配置
    iOS开发之UICollectionViewController
    iOS开发之UITableViewController重写
    Object-c 开发之property
    Git使用
    解决CocoaPods下载慢的问题
    解决Linux下编译adb和fastboot问题
    解决fastboot刷机内存消耗问题
    sql
  • 原文地址:https://www.cnblogs.com/plBlog/p/13870824.html
Copyright © 2011-2022 走看看