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地址

相关推荐
dorisrv16 分钟前
高性能的懒加载与无限滚动实现
前端
韭菜炒大葱22 分钟前
别等了!用 Vue 3 让 AI 边想边说,字字蹦到你脸上
前端·vue.js·aigc
StarkCoder35 分钟前
求求你,别在 Swift 协程开头写 guard let self = self 了!
前端
清妍_35 分钟前
一文详解 Taro / 小程序 IntersectionObserver 参数
前端
电商API大数据接口开发Cris41 分钟前
构建异步任务队列:高效批量化获取淘宝关键词搜索结果的实践
前端·数据挖掘·api
符方昊41 分钟前
如何实现一个MCP服务器
前端
喝咖啡的女孩43 分钟前
React useState 解读
前端
渴望成为python大神的前端小菜鸟1 小时前
浏览器及其他 面试题
前端·javascript·ajax·面试题·浏览器
1024肥宅1 小时前
手写 new 操作符和 instanceof:深入理解 JavaScript 对象创建与原型链检测
前端·javascript·ecmascript 6
吃肉的小飞猪1 小时前
uniapp 下拉刷新终极方案
前端