【问题标题】:Change the icon on windows 7 taskbar for a pinned application更改固定应用程序的 Windows 7 任务栏上的图标
【发布时间】:2012-02-12 08:57:02
【问题描述】:

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

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

我搜索了这个论坛和Change pinned taskbar icon (windows 7),并尝试更改覆盖图标。它可以,但不能满足我的要求,覆盖图标只能显示 16x16,并且没有足够的空间显示 4 位数字。

我也看了MSDN文章Application User Model IDs,但我还是不清楚能不能成功。

有人可以帮忙吗?非常感谢!

【问题讨论】:

  • 我原以为任务栏中的滴答作响的时钟会分散注意力。你真的有可能在最后几分钟内完成很多工作,并且非常清楚你的时间即将用完吗?
  • 也许您可以使用进度条而不是图标来显示还剩多少时间?可能更容易编码,干扰更少。
  • @Lightness Races in Orbit,对,我已经习惯了。实际上,另一个流行的工具称为 focusbooster,它在其他工具之上显示一个倒计时计时器作为浮动窗口。这个倒数计时器实际上是番茄工作法的工作原理。是的,如果用户不喜欢它,他们可以选择不显示动态倒计时。
  • @MasonChang:我对番茄钟很熟悉。不需要侵入式时钟机制来实现它;只有当你的时间到了时才会响起的倒计时某种。我只是设置了一个警报并将其发送到后台。 (至少,在我放弃番茄钟之前我是这样做的。)当然,做对你最好的事情;只是说。
  • "关注当前的ask"? "ask" is not a noun.

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


【解决方案1】:

Windows 7 支持在图标上显示绿色进度条,并且固定不会影响进度条。那么,与其每秒更换图标,不如每隔几秒更换一次,而是让进度条从原来设置的计数器值的 100% 开始倒计时?

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 非常感谢月亮,这可能有效。有一个问题:我需要每秒更改一次图标。这可能会带来麻烦。
    • 我试图更改用户固定\任务栏文件夹中的快捷方式图标,但它不起作用。
    【解决方案3】:

    我的最终解决方案是:

    • 在 Windows 上:使用图标覆盖。您可以获取更多截图here
    • 在 Mac 上:使用不同的图标。您可以获取更多截图here

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

      • 在 Vista 及更高版本中,用户现在可以隐藏系统托盘图标,甚至 Windows 也会隐藏不经常交互的图标。微软正试图让人们远离系统托盘。
      猜你喜欢
      • 2010-11-01
      • 2013-05-19
      • 2011-02-12
      • 2011-07-14
      • 2010-11-30
      • 2010-12-22
      • 2010-11-18
      • 1970-01-01
      • 2012-03-09
      相关资源
      最近更新 更多