Electron程序显示在右下角盘系统托盘右键菜单

  1. 引入 Tray Menu
    import { Menu, Tray, app, BrowserWindow } from"electron";
  2. 系统托盘右键菜单
    functioncreateWindow() {
        ...
        //系统托盘右键菜单
        vartrayMenuTemplate = [{
                label: "设置",
                click: function() {} //打开相应页面
            },
            {
                label: "意见反馈",
                click: function() {}
            },
            {
                label: "帮助",
                click: function() {}
            },
            {
                label: "关于",
                click: function() {}
            },
            {
                label: "退出",
                click: function() {
                    //ipc.send('close-main-window');
                    app.quit();
                }
            }
        ];
        //系统托盘图标目录
        let iconPath = path.join(__dirname, "ico.ico");
        let appTray = newTray(iconPath);
        //图标的上下文菜单
        const contextMenu = Menu.buildFromTemplate(trayMenuTemplate);
        //设置此托盘图标的悬停提示内容
        appTray.setToolTip("electron-vue-test.");
        //设置此图标的上下文菜单
        appTray.setContextMenu(contextMenu);
        //系统托盘图标闪烁
        let count = 0,
            timer = null;
        timer = setInterval(function() {
            count++;
            if (count % 2 == 0) {
                appTray.setImage(iconPath);
            } else {
                appTray.setImage(iconPath);
            }
        }, 600);
        //单点击 1.主窗口显示隐藏切换 2.清除闪烁
        appTray.on("click", function() {
            if (!!timer) {
                appTray.setImage(iconPath);
                //主窗口显示隐藏切换
                mainWindow.isVisible() ? mainWindow.hide() : mainWindow.show();
                // 关闭托盘显示
                // appTray.destroy();
            }
        });
    
        ...
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Electron应用程序最小化到右下角,可以使用Electron的Tray模块和自定义的系统托盘菜单。以下是一个实现的方法: 1. 首先,在main.js文件中添加以下代码引入Tray模块并创建一个Tray对象: ```javascript const { app, BrowserWindow, Tray, Menu } = require('electron'); const path = require('path'); let tray = null; ``` 2. 然后,在createWindow函数中添加以下代码,创建系统托盘菜单: ```javascript function createWindow() { // 创建窗口... // 创建系统托盘图标 tray = new Tray(path.join(__dirname, 'path/to/icon.png')); // 创建系统托盘菜单 const contextMenu = Menu.buildFromTemplate([ { label: '打开应用', click: () => { win.show(); } }, { label: '最小化到右下角', click: () => { win.hide(); } }, { label: '退出', click: () => { app.quit(); } } ]); // 设置系统托盘菜单 tray.setContextMenu(contextMenu); // 点击系统托盘图标显示窗口 tray.on('click', () => { win.show(); }); } ``` 3. 最后,在应用程序的ready事件监听器中添加以下代码,隐藏默认的Dock图标,并使应用程序在所有窗口关闭时保持运行: ```javascript app.dock.hide(); app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit(); } }); ``` 这样,当你运行Electron应用程序时,你将看到一个系统托盘图标。通过右键单击图标,你可以打开应用、最小化到右下角或退出应用。通过点击图标,你可以恢复应用程序窗口的显示。 参考了中的Electron无边框窗口原型和核心代码。希望对你有所帮助!<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [Electron无边框窗口(最小化、最大化、关闭、拖动)以及动态改变窗口大小](https://download.csdn.net/download/fukaiit/11232180)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [【ElectronElectron 系统托盘图标/任务通知栏图标/右下角图标](https://blog.csdn.net/yu17310133443/article/details/79538334)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值