Open xiaobingcaicai opened 3 years ago
消息托盘已经具备,可不可以继续扩展,实现托盘区域的消息通知? 由于需求需要 我简单的进行了实现 systray_windows.go 中增加了一个开放接口
//NotifyMessage 任务栏通知 func NotifyMessage(title string, msg string) { go func() { for wt.nid == nil || wt.nid.Icon == 0 { } const NIM_MODIFY = 0x00000001 const NIF_INFO = 0x00000010 const NIIF_USER = 0x00000004 const NIIF_LARGE_ICON = 0x00000020 wt.nid.Flags |= NIF_INFO copy(wt.nid.InfoTitle[:], windows.StringToUTF16(title)) copy(wt.nid.Info[:], windows.StringToUTF16(msg)) wt.nid.InfoFlags = NIIF_USER | NIIF_LARGE_ICON mag, _, build := windows.RtlGetNtVersionNumbers() if mag < 5 { wt.nid.Size = 152 } else if mag < 6 { wt.nid.Size = 936 } else if build < 6 { wt.nid.Size = 952 } else { wt.nid.Size = 956 } // pShellNotifyIcon.Call(uintptr(NIM_MODIFY), uintptr(unsafe.Pointer(wt.nid))) }() }
win10上似乎不工作,我使用了这个库: https://github.com/gen2brain/beeep
作者好像没有添加这个功能的打算,你要不fork一份吧,我们直接引用你那边的库了 不过我这边试了下,好像也不起作用,win10 https://github.com/tadvi/systray 这个库的消息通知是正常的,不过这个库比较老了,我试着移到这边的库,最终还是放弃了
see https://github.com/gozeon/xtool/blob/340b2458b54e39fd8ec9dd7f0eed8a8b0f639cf9/main.go#L33
消息托盘已经具备,可不可以继续扩展,实现托盘区域的消息通知? 由于需求需要 我简单的进行了实现 systray_windows.go 中增加了一个开放接口