【问题标题】:Update of application Icon in Windows-7 Taskbar更新 Windows-7 任务栏中的应用程序图标
【发布时间】:2011-02-12 07:24:15
【问题描述】:

我有一个带有嵌入式图标的普通 MFC 应用程序。如果我启动应用程序,图标会显示在 windows-7 任务栏中。 但是,当我更改资源中的图标、重建应用程序并启动它时,任务栏不会显示当前图标,而是显示第一次运行的图标。

应用程序内部没有特殊代码可以对 windows-7 任务栏执行特定操作。

有没有办法(在 C++ 中)告诉 windows-7 任务栏显示当前图标?

【问题讨论】:

  • 在 VERSIONINFO 中更改版本号没有帮助。更改名称可以,但不是解决方案。

标签: winapi mfc windows-7 icons taskbar


【解决方案1】:

empty/deleteshell icon cache了吗?

【讨论】:

  • Windows-7 似乎为图标缓存提供了另一个位置;如果其他人不需要杀死 explorer,我会很高兴看到新图标。
  • 这是一个隐藏文件,在资源管理器中打开显示隐藏/系统文件。如果图标缓存是问题,它只会影响您的机器。 (假设改变资源不是你程序正常运行的一部分)
【解决方案2】:

您是否从资源中删除了以前的图标......并在放入资源后将新图标分配给文件......可能会起作用......

【讨论】:

  • 我编辑了 .ico 文件 - 并重建;可执行文件中只有 1 个图标;但即使多次添加图标,也不会改变这种情况。
【解决方案3】:

我相信,如果你重建一个应用程序,但它仍然以相同的名称调用,那么资源管理器认为它不应该重新加载图标,即使新图标是应用程序中唯一的图标。

如果您要发布该程序,其他人不会有这个问题,因为该应用程序的第一个版本将具有新图标,但出于您自己的目的,您可以从 shell32.dll 调用 SHChangeNotify(); 来刷新您的自己的图标视图。

【讨论】:

    猜你喜欢
    • 2012-02-12
    • 2012-05-05
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 2011-04-29
    • 2013-05-19
    相关资源
    最近更新 更多