• 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)
     
  • 相关阅读:
    C#执行sql文件
    "C:Program FilesInternet Exploreriexplore.exe" -extoff 无加载项启动IE 浏览器打开时全屏模式
    sql server备份与还原 sql语句
    触摸屏\串口服务器\串口
    USB串行端口
    选取所有表单元素
    C# Bitmap类型与Byte[]类型相互转化
    本文介绍C# BitmapData
    C#多线程学习(六) 互斥对象
    C# List 复制克隆副本
  • 原文地址:https://www.cnblogs.com/plBlog/p/13870824.html
Copyright © 2020-2023  润新知