键盘焦点(Win32)上的Systray图标工具提示

时间:2013-10-21 04:38:16

标签: win32gui

当用户关注应用程序的系统托盘图标时,我想从系统托盘显示我的应用程序的统计信息。为了实现这一点,我使用了Shell_NotifyIcon(),但它的最大字符串大小限制为64个字符。 所以,我使用“CreateWindow()”创建了自己的工具提示窗口(我正在使用Win32 API),当我将鼠标悬停在图标上时,它工作正常。但是当仅使用键盘聚焦systray图标时它不起作用。

当我调试应用程序时,似乎在使用键盘聚焦图标时没有捕获到窗口消息。但是当我将鼠标悬停在图标上时,我会收到WM_MOUSEMOVE消息。

使用键盘对系统托盘图标进行聚焦时是否发出了任何窗口消息(即Win + B - >使用箭头键导航到您的图标)?

任何其他建议都将受到赞赏。

谢谢, KUNAL

1 个答案:

答案 0 :(得分:0)

系统托盘图标工具提示仅限于Windows 2000之前的Windows版本上的64个字符。在Windows 2000中,工具提示限制增加到128个字符。

通过键盘聚焦/激活图标时会显示消息。您可能需要通过NIM_SETVERSION向系统托盘询问。

阅读文档:

Notifications and the Notification Area

Shell_NotifyIcon()。在备注中有很多关于处理键盘/鼠标消息的信息。