package main import ( "github.com/lxn/walk" "log" ) func (mw *myApp) AddNotifyIcon() { var err error mw.ni, err = walk.NewNotifyIcon(mw) checkError(err) mw.ni.SetVisible(true) icon, err := walk.NewIconFromResourceId(3) checkError(err) mw.SetIcon(icon) mw.ni.SetIcon(icon) sjMenu := mw.addMenu("数据库") service1.menuStart = mw.addAction(sjMenu, "启动") service1.menuStop = mw.addAction(sjMenu, "停止") service1.menuStart.Triggered().Attach(func() { startService(service1) }) service1.menuStop.Triggered().Attach(func() { stopService(service1) }) cxMenu := mw.addMenu("应用") service3.menuStart = mw.addAction(cxMenu, "启动") service3.menuStop = mw.addAction(cxMenu, "停止") service3.menuStart.Triggered().Attach(func() { startService(service3) }) service3.menuStop.Triggered().Attach(func() { stopService(service3) }) mw.addAction(nil, "exit").Triggered().Attach(func() { mw.ni.Dispose() mw.Dispose() walk.App().Exit(0) }) } func (mw *myApp) addMenu(name string) *walk.Menu { helpMenu, err := walk.NewMenu() checkError(err) help, err := mw.ni.ContextMenu().Actions().AddMenu(helpMenu) checkError(err) help.SetText(name) return helpMenu } func (mw *myApp) addAction(menu *walk.Menu, name string) *walk.Action { action := walk.NewAction() action.SetText(name) if menu != nil { menu.Actions().Add(action) } else { mw.ni.ContextMenu().Actions().Add(action) } return action } func checkError(err error) { if err != nil { log.Fatal(err) } }