如何在 Windows 系统托盘提示符中显示与号

How to display an ampersand in a Windows system tray prompt?

本文关键字:提示符 显示 Windows 系统      更新时间:2023-10-16

我正在使用C++和WinAPI进行编程。我使用 Shell_NotifyIcon(NIM_ADD, ...) 添加了一个系统托盘图标应用程序接口。该图标还有一个关联的用户提示,其中包含一个与号,类似于"查看和复制"。但是当提示弹出时,用户看到的是"查看副本"。我尝试将&符号加倍,例如"查看和复制",但这没有帮助。

有没有人知道如何在 Windows 托盘提示符中显示与号?

这不是转

义与号的问题 - Windows 设计将从工具提示文本中删除任何与号,这通常是有充分理由的:

许多应用程序创建包含与 菜单命令。对于此类工具,工具提示很方便 控件以显示与相应菜单项相同的文本。这 系统自动去除与号 (&) 加速器字符 从传递给工具提示控件的所有字符串中,并终止 第一个制表符 (\t) 处的字符串,除非控件具有 TTS_NOPREFIX风格。

如您所见,答案非常简单:您只需将TTS_NOPREFIX添加到工具提示类中,即可设置。

显然,与号需要双重转义,就像这个&&&.

我不确定为什么,但它似乎有效。

我的来源:这个链接。