go 使用systray 实现托盘和程序退出

1.先 go get 安装 包

bash 复制代码
go get github.com/getlantern/systray

2.使用的代码

bash 复制代码
func main() {
	fmt.Println("开始")
	systray.Run(onReady, onExit)
}

func onReady() {
	systray.SetIcon(icon.Data)
	systray.SetTitle("Awesome App")
	systray.SetTooltip("Pretty awesome超级棒")
	mQuit := systray.AddMenuItem("Quit", "Quit the whole app")
	fmt.Println("开始启动")
	// Sets the icon of a menu item. Only available on Mac and Windows.
	mQuit.SetIcon(icon.Data)
	//监听点击Quit按钮
	go func() {
		<-mQuit.ClickedCh
		systray.Quit()
	}()
}
//关闭对应的程序,这里的command只适用于windows
func onExit() {
	// clean up here
	fmt.Println("结束")
	command := exec.Command("taskkill", "/im", "server.exe", "/F")
	output, err := command.CombinedOutput()
	if err != nil {
		fmt.Println("output err:", err)
		return
	}
	fmt.Println("output:", string(output))
}
相关推荐
swipe4 分钟前
Neo4j + Graph RAG 医疗知识图谱工程实践:患者教育问答真正需要的是“关系可追溯”
后端·langchain·llm
源码宝1 小时前
MES系统源码:Java8 + SpringBoot2.7 + MySQL8 + Redis,后端源码清爽易扩展
java·后端·源码·springboot·mes系统·源码二开·mes源码
金銀銅鐵1 小时前
[Java] 如何理解 class 文件中方法的 descriptor?
java·后端
村口张大爷1 小时前
05 — 分层架构与依赖倒置
后端·架构·系统架构
Jasonakeke3 小时前
SpringBoot自动配置原理揭秘
java·spring boot·后端
IT_陈寒4 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端
uzong4 小时前
面试官:如何做好架构设计
后端·架构
Cosolar4 小时前
QwenPaw Agent 实现原理深度剖析
后端·面试·架构
Sincerelyplz5 小时前
【AI会议纪要实践】mapReduce、RAG 与结构化输出
java·后端·agent
zavoryn5 小时前
后端接入 AI Agent:Tool Calling 网关、幂等与审计日志实战
后端·架构