当用户关注应用程序的系统托盘图标时,我想从系统托盘显示我的应用程序的统计信息。为了实现这一点,我使用了Shell_NotifyIcon(),但它的最大字符串大小限制为64个字符。 所以,我使用“CreateWindow()”创建了自己的工具提示窗口(我正在使用Win32 API),当我将鼠标悬停在图标上时,它工作正常。但是当仅使用键盘聚焦systray图标时它不起作用。
当我调试应用程序时,似乎在使用键盘聚焦图标时没有捕获到窗口消息。但是当我将鼠标悬停在图标上时,我会收到WM_MOUSEMOVE消息。
使用键盘对系统托盘图标进行聚焦时是否发出了任何窗口消息(即Win + B - >使用箭头键导航到您的图标)?
任何其他建议都将受到赞赏。
谢谢, KUNAL
答案 0 :(得分:0)
系统托盘图标工具提示仅限于Windows 2000之前的Windows版本上的64个字符。在Windows 2000中,工具提示限制增加到128个字符。
通过键盘聚焦/激活图标时会显示消息。您可能需要通过NIM_SETVERSION
向系统托盘询问。
阅读文档:
Notifications and the Notification Area
Shell_NotifyIcon()。在备注中有很多关于处理键盘/鼠标消息的信息。