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))
}
相关推荐
bcbnb21 分钟前
Socket 抓包工具与实战,从抓取到定位(Socket 的命令、分析)
后端
用户83562907805122 分钟前
用Python轻松转换Excel表格为HTML格式
后端·python
用户0840598129030 分钟前
高版本的jdk在使用maven时,如何编译成低版本的class
后端
这里有鱼汤1 小时前
炒股的尽头真的是玄学?我用八字+AI做了个实验,结果震惊
后端
hrrrrb1 小时前
【Spring Security】认证(二)
java·后端·spring
程序员爱钓鱼1 小时前
Python编程实战 · 基础入门篇 | Python的版本与安装
后端·python
舒克日记1 小时前
基于springboot针对老年人的景区订票系统
java·spring boot·后端
GoldenaArcher1 小时前
GraphQL 工程化篇 III:引入 Prisma 与数据库接入
数据库·后端·graphql
沐雨橙风ιε1 小时前
Spring Boot整合Apache Shiro权限认证框架(实战篇)
java·spring boot·后端·apache shiro
桦说编程2 小时前
CompletableFuture 异常处理常见陷阱——非预期的同步异常
后端·性能优化·函数式编程