electron的托盘Tray

1.在主进程文件background.js中引入需要的文件

bash 复制代码
import { Tray, Menu } from "electron";
const path = require("path");

2.获取托盘图标

bash 复制代码
const baseSRC = process.cwd(); //这里不能使用__dirname,使用dirname会直接获取dist_electron中的文件,我们需要的文件在public文件中
const filePath = path.join(baseSRC, "/public/favicon.ico");

3.创建tray

bash 复制代码
let tray = null;
app.on("ready", async () => {
  tray = new Tray(filePath);
  const contextMenu = Menu.buildFromTemplate([
    { label: "Item1", type: "radio" },
    { label: "Item2", type: "radio" },
    { label: "Item3", type: "radio", checked: true },
    { label: "Item4", type: "radio" },
  ]);
  tray.setToolTip("This is my application.");
  tray.setContextMenu(contextMenu);

  tray.on("click", () => {
    //给托盘绑定点击事件
  });
  createWindow();
});
相关推荐
孟祥_成都17 分钟前
Prompt 还能哄女朋友!你真的知道如何问 ai 问题吗?
前端·人工智能
前端涂涂19 分钟前
第3讲:BTC-数据结构
前端
春卷同学20 分钟前
滑雪游戏 - Electron for 鸿蒙PC项目实战案例
游戏·electron·harmonyos
白狐_79830 分钟前
【项目实战】我用一个 HTML 文件写了一个“CET-6 单词斩”
前端·算法·html
夕水33 分钟前
React Server Components 中的严重安全漏洞
前端
sg_knight35 分钟前
SSE 技术实现前后端实时数据同步
java·前端·spring boot·spring·web·sse·数据同步
苹果电脑的鑫鑫42 分钟前
el-select下拉菜单如何可以手输入内容
前端·vue.js·elementui
克喵的水银蛇1 小时前
Flutter 弹性布局实战:快速掌握 Row/Column/Flex 核心用法
开发语言·javascript·flutter
脾气有点小暴1 小时前
ES6(ECMAScript 2015)基本语法全解析
前端·javascript
前端fighter1 小时前
全栈项目:闲置二手交易系统(二)
前端·vue.js·node.js