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();
});
相关推荐
别看我只是一直狼3 分钟前
从观察者模式到 RxJS:让复杂的异步逻辑变得优雅又舒服
javascript
花间相见3 分钟前
【终端效率工具01】—— Yazi:Rust 编写的现代化终端文件管理器,告别繁琐操作
前端·ide·git·rust·极限编程
|晴 天|13 分钟前
我如何用Vue 3打造一个现代化个人博客系统(性能提升52%)
前端·javascript·vue.js
风止何安啊21 分钟前
网页都知道要双向握手才加载!从 URL 到页面渲染,单向喜欢连 DNS 都解析不通
前端·javascript·面试
太极OS27 分钟前
给 AI Skill 做 CI/CD:GitHub + ClawHub + Xiaping 同步发布实战
前端
你_好27 分钟前
Chrome 内置了 AI 工具协议?WebMCP 抢先体验 + 开源 DevTools 全解析
前端·mcp
GISer_Jing27 分钟前
LangChain.js + LangGraph.js 前端AI开发实战指南
前端·javascript·langchain
正在发育ing__31 分钟前
从源码看vue的key和状态错乱的patch
前端
木心术132 分钟前
TypeScript实战进阶:从基础类型到高级类型编程
javascript·ubuntu·typescript
Hello--_--World1 小时前
浏览器同源策略与跨域问题
javascript