Electron如何实现系统托盘?
在Electron中,你可以使用Tray API来创建系统托盘图标。以下是一个简单的示例,说明如何在Electron应用程序中实现系统托盘:
首先,确保你已经安装了Electron。你可以通过npm(Node.js包管理器)来安装Electron。
npm install electron --save-dev
然后,创建一个新的Electron项目,并在主进程文件(通常是main.js
或index.js
)中添加以下代码:
const { app, Tray, Menu, BrowserWindow } = require('electron');
const path = require('path');
let tray = null;
let window = null;
function createWindow() {
window = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
},
});
window.loadFile('index.html');
}
function createTray() {
tray = new Tray(path.join(__dirname, 'tray-icon.png')); // 替换为你的托盘图标路径
const trayMenuTemplate = [
{
label: 'Show App',
click: () => {
window.show();
},
},
{
label: 'Quit',
click: () => {
app.quit();
},
},
];
const trayMenu = Menu.buildFromTemplate(trayMenuTemplate);
tray.setContextMenu(trayMenu);
tray.on('click', () => {
window.isVisible() ? window.hide() : window.show();
});
}
app.whenReady().then(() => {
createWindow();
createTray();
});
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
在这个示例中,我们首先导入了必要的Electron模块,然后定义了两个函数:createWindow
用于创建应用程序窗口,createTray
用于创建系统托盘图标。在createTray
函数中,我们使用Tray
类创建了一个托盘图标,并为其添加了一个上下文菜单。我们还为托盘图标添加了一个点击事件监听器,用于显示或隐藏应用程序窗口。最后,我们在应用程序准备就绪时调用这两个函数。
请确保将tray-icon.png
替换为你自己的托盘图标文件路径。图标文件应该位于与主进程文件相同的目录中,或者你可以提供图标的绝对路径。
现在,当你运行Electron应用程序时,它应该会在系统托盘中显示一个图标。你可以通过点击托盘图标来显示或隐藏应用程序窗口,还可以通过右键点击托盘图标来访问上下文菜单中的选项。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构