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))
}
相关推荐
diudiu96288 分钟前
Logback使用指南
java·开发语言·spring boot·后端·spring·logback
Lisonseekpan25 分钟前
Elasticsearch 入门指南
大数据·分布式·后端·elasticsearch·搜索引擎
zhangyifang_00927 分钟前
Spring中的BeanDefinition
java·后端·spring
旧梦吟31 分钟前
脚本 手机跑.简易go服务器
python·golang·css3
楠枬36 分钟前
负载均衡 -LoadBalance
后端·spring·spring cloud·负载均衡
milanyangbo36 分钟前
深入解析 Disruptor:从RingBuffer到缓存行填充的底层魔法
java·数据库·后端·架构
计算机学姐1 小时前
基于Python的智能点餐系统【2026最新】
开发语言·vue.js·后端·python·mysql·django·flask
哈哈老师啊1 小时前
Springboot学生选课系统576i3(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
IT_陈寒1 小时前
React性能优化实战:5个被低估的Hooks技巧让你的应用提速30%
前端·人工智能·后端
回家路上绕了弯1 小时前
CAP 与 BASE:分布式系统的核心思想与实践指南
分布式·后端