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();
});
相关推荐
一棵开花的树,枝芽无限靠近你7 分钟前
【CodeMirror】系列(二)官网示例(六)自动补全、边栏
前端·笔记·学习·编辑器·codemirror
曼陀罗12 分钟前
【Mock server】最全面的json-server 使用跟配置
前端
justdoit52117 分钟前
前端的AI路其之二:初试MCP Server
前端·aigc·mcp
WindrunnerMax19 分钟前
从零实现富文本编辑器#2-基于MVC模式的编辑器架构设计
前端·javascript·github
我有一颗小慧星21 分钟前
🚀 告别手动敲代码!IDE + Browser MCP + AI Agent 自动化开发实战,爽到飞起!
前端
呆萌呆萌怪兽22 分钟前
Flutter中从setState()到屏幕更新的完整流程
前端
呆萌呆萌怪兽23 分钟前
widget重建
前端
WEIII25 分钟前
不是?全网都找不到案例?小程序集成 gifsicle wasm
前端·微信小程序·webassembly
张开心_kx27 分钟前
面试官又问我JS是如何进行内存管理的?
前端·javascript