Electron系统托盘
系统托盘 Tray
文章目录
- 系统托盘 Tray
- 1. 主进程
- 2. 实现效果
1. 主进程
代码如下(示例):
const{ app, BrowserWindow,Tray, Menu } require'electron'
let mainWindow
let appTray = null; // 在外面创建 tray ,防止被自动删除,导致图标消失
function createWindow () {/*** Initial window options*/mainWindow = new BrowserWindow({height: 620,width: 400,useContentSize: true,// frame: false,//添加后自定义标题//自定义边框// movable: true,//可否移动webPreferences:{nodeIntegration:true,contextIsolation: false,webSecurity: false,}, }); mainWindow.loadFile('./index.html')// 系统托盘//系统托盘右键菜单var trayMenuTemplate = [{label: "显示主窗口", click: function() {mainWindow.show(); } //打开相应页面},{//打开相应页面label: "检查更新",click: function() {} },{ //打开相应页面label: "web代理",click: function() {} },{label: "查看日志",click: function() {} },{label: "增强加密",click: function() {//右下角弹出消息弹框 } },{label: "退出客户端",click: function() {app.quit();}},{label: "查看版本信息",click: function() {//打开相应页面} }];//系统托盘图标目录let iconPath = path.join(__dirname, "../assets/logo3.png");let appTray = new Tray(iconPath);console.log(iconPath);//图标的上下文菜单const contextMenu = Menu.buildFromTemplate(trayMenuTemplate);//设置此托盘图标的悬停提示内容appTray.setToolTip("XXXX");//设置此图标的上下文菜单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();}});
}app.on('ready', createWindow)app.on('window-all-closed', () => {if (process.platform !== 'darwin') {app.quit()}
})
2. 实现效果
Electron系统托盘相关推荐
- electron系统托盘与右键菜单
在main.js里面 ①导入Tray const { app, BrowserWindow, Menu, MenuItem, Tray } = require('electron') ②封装系统托盘函 ...
- 【electron】electron-builder-start 实现系统托盘(tray)
练习代码git:https://github.com/SmileEricXin/electronPractice.git //src\main\index.js 做以下修改// 新增调用 import ...
- Electron 解决打包后系统托盘报错问题
今天在打包electron时碰到系统托盘无法显示问题. 但在使用electron .命令测试时是没有问题的,考虑可能是图片路径问题于是把图片路径改为绝对路径,问题解决. // 创建系统托盘 funct ...
- windows系统托盘tray
electron tray是一种方法. Add icons and context menus to the system's notification area. python调用win32api也 ...
- 在 Ubuntu Natty 中解除系统托盘限制
在 Ubuntu 11.04 Natty 中,Ubuntu 对顶部面板右上角的通知区域(系统托盘)采用了白名单制度,只有支持 Indicators 并位于白名单的部分程序才会被显示在系统托盘中,目前支 ...
- MFC最小化到系统托盘
在VC++中,想实现将MFC最小化到系统托盘,需要调用NOTIFYICONDATA类,并注册相应的消息,以下详细讲解如何实现: 第一步,声明一个NOTIFYICONDATA类,也就是NOTIFYICO ...
- MFC系统托盘的实现
通常电脑里边的软件,当你打开后会在电脑最右下角的任务栏上生成一个系统托盘,当你点击最小化或者点击关闭按钮后,若想恢复窗口,可以左键双击或者单机这个系统图标,同时鼠标右键点击,又会有其他的菜单弹出,比如 ...
- TrayIcon 类 添加系统托盘不显示托盘图标
为什么80%的码农都做不了架构师?>>> 好久不碰 java swing最近写了一个swing 程序 添加托盘时,怎么也不显示图标,就一空白 ,在网上搜了老半天,大部无效. 边 ...
- 将 VMware 最小化到系统托盘
1, 下载 Trayconizer 官网地址: http://www.whitsoftdev.com/trayconizer/ 下载地址: http://www.whitsoftdev.com/fil ...
最新文章
- Spring3.2.8+Mybatis3.2.6 多数据源基于BaseDAO的配置
- “去哪儿网”2015春招前端面试题
- 详细介绍springData
- htmljavascript 事件触发机制
- nginx / 安装、部署和启动
- linux mysql降权_怎样将mysql数据库root降权
- python动态图片转字符画_Python实现图片转字符画
- 《Look at Boundary: A Boundary-Aware Face Alignment Algorithm》代码调试
- 如何在5分钟内发现 SQL 语言中的数据血缘
- 目前人工智能应用领域比较多,主要包含哪些应用领域?
- 引用第三方SDK产生依赖冲突
- rails使用html form,在erb文件中使用rails form_tag和html表单代码有什么区别?
- 国密SM9算法C++实现之一:算法简介
- 基于NT98530的多目VR摄像机方案,多sensor同步,多sensor防抖,PTP校时,实景SLAM数字孪生的最佳搭档。
- html制作电影宣传效果,宣传片制作有什么技巧可提高效果
- 数学连乘和累加运算符号_3,7,5之间加数学运算符号使结果等于8?
- PS制作立体效果——圆环
- remap中的xmap,ymap详解
- 论文阅读(3):Image-Based 3D Object Reconstruction:State-of-the-Art and Trends in the Deep Learning Era
- MySQL系列---架构与SQL执行流程详解