更改固定应用程序的Windows 7任务栏上的图标

时间:2012-01-17 14:47:00

标签: c++ windows-7 windows-shell taskbar

我的软件Pomodoro Timer将在Windows 7任务栏上显示动态图标。您可能想知道为什么应用程序图标需要是动态的。它实际上是一个倒计时器,让我专注于当前任务,所谓的the pomodoro technique

enter image description here

我改变图标的​​方法是只更改窗口图标。它在我启动应用程序时工作正常,但在我将其固定到任务栏后,它将显示应用程序的默认图标。动态计数器减少数字将消失。更糟糕的是,在我从任务栏取消固定后,默认行为将永远无法恢复,也就是说,动态图标将无法正确更新。当我再次启动应用程序时,它将显示默认图标,除非我将其固定并再次取消固定,否则会再次显示倒计时图标。

我搜索了此论坛,Change pinned taskbar icon (windows 7),并尝试更改叠加图标。它有效,但不符合我的要求,叠加图标只能显示16x16,没有足够的空间显示4位数。

我还阅读了MSDN文章Application User Model IDs,但我仍然不清楚它是否可以成功。

任何人都可以提供帮助吗?非常感谢!

4 个答案:

答案 0 :(得分:2)

Windows 7支持在图标上显示绿色进度条,并且固定不会影响进度条。因此,不是每秒都更改图标,为什么不每隔几秒更改一次,但是进度条会从原始设置计数器值的100%开始倒数?

答案 1 :(得分:1)

Taskbar中的固定项目存储为快捷方式:
%appdata%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

您可以尝试更改程序快捷方式的图标。

答案 2 :(得分:1)

我的最终解决方案是:

    Windows上的
  • :使用图标叠加。您可以获得更多屏幕截图here
  • 在Mac上
  • :使用不同的图标。您可以获得更多屏幕截图here

我为Windows和Mac使用不同的解决方案。

enter image description here

enter image description here

答案 3 :(得分:0)

通常,应用程序会使用系统托盘向用户显示此类交互状态。有一整套API用于与之交互,设置图标,菜单,提供文本反馈(气球)等。

以下是关于如何实现此类功能的好文章: http://www.codeproject.com/Articles/74/Adding-Icons-to-the-System-Tray