C#关闭notifyIcons文本(托盘图标)

pas*_*ets 8 c# icons text notifyicon tray

我正在制作这个"你正在听的内容" - 用于学习目的的插件,将当前的Spotify或Winamp歌曲显示为IM客户端中的消息.

到目前为止它真的很简单,我只是从标题中播放这首歌

Process.GetProcessesByName("spotify");
Run Code Online (Sandbox Code Playgroud)

然后选择歌曲部分("Spotify - <歌曲标题>")

proc.MainWindowTitle.Substring(10);
Run Code Online (Sandbox Code Playgroud)

但是,大多数人不会将主窗口打开或最小化到任务栏,而是仅将其视为托盘图标.我想从那里得到文本(悬停在它上面时显示的文本).

这有什么简单的方法吗?

谢谢

Han*_*ant 4

设置图标的工具提示文本需要使用 Shell_NotifyIcon() 和 NIM_UPDATE 消息,设置 NOTIFYICONDATA.szTip 成员。

最大的问题是,如果您不拥有托盘图标,则无法找出需要使用的 hWnd 和 uID 值。Windows 不支持枚举托盘图标。这也阻止了获取工具提示文本。