Shell_NotifyIconA 函数 (shellapi.h)
将消息发送到任务栏的状态区域。
语法
BOOL Shell_NotifyIconA(
[in] DWORD dwMessage,
[in] PNOTIFYICONDATAA lpData
);
参数
[in] dwMessage
类型:DWORD
一个值,该值指定要由此函数执行的操作。 它可以具有以下值之一:
NIM_ADD(0x00000000)
0x00000000。 将图标添加到状态区域。 该图标在 NOTIFYICONDATA 结构中提供标识符,该结构通过 lpdata(通过 uID 或 guidItem 成员指向)。 此标识符用于后续调用 Shell_NotifyIcon 以对图标执行后续操作。
NIM_MODIFY(0x00000001)
0x00000001。 修改状态区域中的图标。 NOTIFYICONDATA 结构,lpdata 使用最初分配给图标的 ID 添加到通知区域(NIM_ADD)以标识要修改的图标。
NIM_DELETE(0x00000002)
0x00000002。 从状态区域删除图标。 lpdata 指向的 NOTIFYICONDATA 结构使用最初添加到通知区域(NIM_ADD)时分配给图标的 ID 来标识要删除的图标。
NIM_SETFOCUS(0x00000003)
0x00000003。 Shell32.dll 版本 5.0 及更高版本仅。 将焦点返回到任务栏通知区域。 通知区域图标在完成 UI 操作后应使用此消息。 例如,如果图标显示快捷菜单,但用户按 ESC 将其取消,请使用 NIM_SETFOCUS 将焦点返回到通知区域。
NIM_SETVERSION(0x00000004)
0x00000004。 Shell32.dll 版本 5.0 及更高版本仅。 指示通知区域根据 uVersion 成员 lpdata所指向的结构的版本号行事。 版本号指定识别哪些成员。
每次添加通知区域图标(NIM_ADD)时,都必须调用NIM_SETVERSION。 无需使用NIM_MODIFY调用它。 用户注销后,不会保留版本设置。
有关详细信息,请参阅“备注”部分。
[in] lpData
类型:PNOTIFYICONDATA
指向 NOTIFYICONDATA 结构的指针。 结构的内容取决于 dwMessage
返回值
类型:BOOL
如果成功,则返回 TRUE;否则返回 FALSE。 如果
言论
自 Windows 2000(
- 如果用户使用键盘选择通知图标的快捷菜单,Shell 现在会向关联的应用程序发送一条 WM_CONTEXTMENU 消息。 早期版本发送 WM_RBUTTONDOWN 和 WM_RBUTTONUP 消息。
- 如果用户使用键盘选择通知图标并使用空格键或 ENTER 键激活它,版本 5.0 Shell 会向关联的应用程序发送NIN_KEYSELECT通知。 早期版本发送 WM_RBUTTONDOWN 和 WM_RBUTTONUP 消息。
- 如果用户选择带有鼠标的通知图标并使用 ENTER 键激活它,Shell 现在会向关联的应用程序发送NIN_SELECT通知。 早期版本发送 WM_RBUTTONDOWN 和 WM_RBUTTONUP 消息。
- NIN_BALLOONSHOW。 显示气球时发送(气球排队)。
-
NIN_BALLOONHIDE。 气球消失时发送。 例如,删除图标时。 如果气球因超时或用户单击鼠标而关闭,则不会发送此消息。
从 Windows 7 开始,当设置 NIIF_RESPECT_QUIET_TIME 标志的通知尝试在安静时间(新计算机上的第一小时)时,也会发送NIN_BALLOONHIDE。 在这种情况下,气球根本不显示。
- NIN_BALLOONTIMEOUT。 由于超时而关闭气球时发送。
- NIN_BALLOONUSERCLICK。 关闭气球时发送,因为用户单击了鼠标。
- NIN_POPUPOPEN。 当用户将光标悬停在图标上以指示应使用更丰富的弹出 UI 来代替标准文本工具提示时发送。
- NIN_POPUPCLOSE。 当光标不再悬停在图标上以指示应关闭丰富的弹出 UI 时发送。
注意
shellapi.h 标头将Shell_NotifyIcon定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows XP [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | shellapi.h |
库 | Shell32.lib |
DLL | Shell32.dll(版本 4.0 或更高版本) |
API 集 | ext-ms-win-shell-shell32-l1-2-1(在 Windows 10 版本 10.0.10240 中引入) |