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

相关推荐
Heo4 分钟前
简单聊聊webpack摇树的原理
前端·javascript·面试
San305 分钟前
深入理解 JavaScript 异步编程:从 Ajax 到 Promise
javascript·ajax·promise
少卿8 分钟前
React 日历组件完全指南:从网格生成到农历转换
前端·react.js
程序员鱼皮25 分钟前
Gemini 3.0 发布!
前端·ai编程·gemini
程序员鱼皮27 分钟前
Gemini 3.0 炸裂发布!前端又死了???
前端·ai·程序员·互联网·代码
xiangxiongfly91529 分钟前
CSS svg
前端·css·svg
山依尽39 分钟前
如何将一个 React SPA 项目迁移到 Next.js 服务端渲染
前端·next.js
44 分钟前
使用 svgfmt 优化 SVG 图标
前端·svg·icon
Watermelo61744 分钟前
href 和 src 有什么区别,它们对性能有什么影响?
前端·javascript·vue.js·性能优化·html·html5·用户体验
hqk1 小时前
鸿蒙零基础语法入门:开启你的开发之旅
android·前端·harmonyos