electron录制工具-系统托盘

要求

1、两个状态控制开始录制、结束录制

2、退出应用

3、当录制状态时,切换另一个状态【结束录制】,反之显示【开始录制】

效果

electron录制-系统托盘-演示

代码

复制代码
function createTray(init = 0) {
	if (tray) {
		console.log("Tray already created!");
		return
	}
	tray = new Tray(path.join(process.env.VITE_PUBLIC,  init === 0 ? 'tray-icon-start.png' : 'tray-icon-stop.png'));
	const startItem = {
		label: 'Start Record',
		click: function () {
			console.log("Start Record");
			tray?.destroy()
			tray = null
			createTray(1)
		}
	}
	const stopItem = {
		label: 'Stop Record',
		click: function () {
			console.log("Start Record");
			tray?.destroy()
			tray = null
			createTray(0)
		}
	}
	const contextMenu = Menu.buildFromTemplate([
		init === 0 ? startItem : stopItem,
		{
			label: 'Quit',
			role: 'quit'
		}
	]);

	tray.setToolTip('AV CRAFT');
	tray.setContextMenu(contextMenu);
}

Git地址

相关推荐
LYFlied44 分钟前
WebGPU与浏览器边缘智能:开启去中心化AI新纪元
前端·人工智能·大模型·去中心化·区块链
Setsuna_F_Seiei1 小时前
2025 年度总结:人生重要阶段的一年
前端·程序员·年终总结
model20051 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
han_2 小时前
从一道前端面试题,谈 JS 对象存储特点和运算符执行顺序
前端·javascript·面试
aPurpleBerry2 小时前
React 01 目录结构、tsx 语法
前端·react.js
jayaccc2 小时前
微前端架构实战全解析
前端·架构
qingyun9892 小时前
Web Components 实战:创建自定义比例条组件
前端
前端小超超3 小时前
ionic + vue3 + capacitor遇到backButton问题
前端·javascript·vue.js
GIS之路3 小时前
GDAL 空间关系解析
前端
布列瑟农的星空3 小时前
WebAssembly入门(一)——Emscripten
前端·后端