- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们有一个应用程序使用各种系统托盘图标与用户交流。不同的图标表示(否则无窗口)应用程序的不同内部状态。我们使用 this Code Guru project 中的代码实现了我们的系统托盘内容(MFC 版本;这无论如何都不是新的应用程序),直到最近,它运行良好。但是,最近我们尝试添加另一个图标,但遇到了麻烦。
这是应该的工作方式:
我们有一个主图标(称之为“A”),表示应用程序正在运行。
如果发生特定事件,我们会显示图标“B”,用户可以将鼠标悬停在该图标上以获得包含该事件状态的工具提示。
如果(最近添加的、内部的、线程化的)过程开始,我们会显示图标“C”,并且用户可以再次将鼠标悬停在该图标上以查看指示该事件进度的工具提示。
实际上 发生了什么:如果当我们(尝试)显示图标“C”时图标“B”可见,那么图标“B”要么完全消失,永远不会返回,要么留在那里图标“C”永远不会出现,但图标“B”的工具提示已更改为图标“C”应有的内容。
我稍微简化了场景;我们实际上还有一些其他图标,但很少使用。但是,在过去几周添加图标“C”之前,我们在显示多个图标时从未遇到过任何问题。
有什么想法吗?很高兴澄清任何我没有解释清楚的事情。
最佳答案
您需要为每个图标使用不同的 uID
。 documentation说:
The application-defined identifier of the taskbar icon. The Shell uses either (hWnd plus uID) or guidItem to identify which icon to operate on when Shell_NotifyIcon is invoked. You can have multiple icons associated with a single hWnd by assigning each a different uID. If guidItem is specified, uID is ignored.
换句话说,您需要为 uID
选择一个值。这就是每次调用 Shell_NotifyIcon()
时 shell 知道您指的是哪个图标的方式。显然,您必须为每个图标使用不同的值。因此,0
用于图标 A
,1
用于图标 B
等。
关于c++ - 为什么系统托盘图标会清除之前显示的图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7920116/
我想在同一运行时间内拥有多种货币。默认节点模板中插入了 Balances 托盘,但如果我正确的话,它只能处理一种货币。 如何多次重复使用托盘? 最佳答案 Pallet 可以实例化,这样您就可以在同一运
我正在尝试使用一段代码打开和关闭计算机的 CD 托盘。我一直在使用 MCI 命令,并将 winmm.lib 包含在我的项目配置的附加依赖项中。我还包含了 windows.h 和 mmsystem.h。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我正在使用electron-react-boilerplate开发 Electron 应用程序(使用electron-builder打包应用程序)。 我想创建托盘,但是它需要图标路径或 native
有没有办法选择在 Java 中打印时使用哪个出纸盒/托盘?有一个属性 MediaTray 允许您选择输入托盘,但我找不到允许您选择输出的属性。 最佳答案 除了MediaTray , 有一个 Desti
我是一名优秀的程序员,十分优秀!