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

相关推荐
咕噜咕噜啦啦31 分钟前
Vue3响应式开发
前端·javascript·vue.js
huangql5202 小时前
布局单位与设计稿换算:从「看清」到「量准」
前端
牛奶2 小时前
你不知道的JS(下):深入编程
前端·javascript·电子书
牛奶2 小时前
你不知道的JS(下):深入JS(下)
前端·javascript·电子书
牛奶2 小时前
你不知道的JS(下):总结与未来
前端·javascript·电子书
牛奶2 小时前
你不知道的JS(下):深入JS(上)
前端·javascript·电子书
CappuccinoRose4 小时前
HTML语法学习文档(五)
前端·html·html5·表单
硅基动力AI5 小时前
如何判断一个关键词值不值得做?
java·前端·数据库
yq1982043011566 小时前
使用Django构建视频解析网站 从Naver视频下载器看Web开发全流程
前端·django·音视频
李明卫杭州6 小时前
在 JavaScript 中,生成器函数(Generator Function)
前端·javascript