26

我不想自定义 Windows 7 任务栏中显示的图标。当我的应用程序运行时,我可以通过更改主窗口图标来做到这一点,但是当应用程序被固定时,会显示 exe 的图标。

如何将我的应用程序的任务栏图标设置为与 exe 中嵌入的图标不同的图标?

没试过,这个解决方案可能有效,但看起来很脏。


编辑 :

我们的应用程序编译一次,但取决于配置文件,功能是否启用,因此它是一个产品或另一个。我们不想为每个产品编译一个 exe。

上面的解决方案可能不起作用,因为我的应用程序的许多实例可以安装在不同的路径中(所以你最终会得到相同的 exe 文件名但不同的图标!),这个注册表项是设计不当还是我遗漏了什么?

4

9 回答 9

23

编辑下面的信息有点过时了;所有新的 Windows 7 位现在都可作为托管 API 使用,可在此处获取:http ://code.msdn.microsoft.com/WindowsAPICodePack

调试大师Sasha Goldshtein一系列关于新任务栏 API 的文章。你应该看看Overlay Icons and Progress Bars API

您可以从Microsoft Code 上的Windows 7 任务栏开发人员资源下载示例代码。您正在寻找的是IMClient样本:

IMClient 示例演示了任务栏覆盖图标和任务栏进度条如何点亮应用程序的任务栏按钮,而不是依赖附加对话框或系统通知区域(托盘)中的图标。

替代文字
(来源:microsoft.co.il

替代文字
(来源:microsoft.co.il

替代文字
(来源:microsoft.co.il

我相信这应该可以帮助你实现你想要的。

于 2009-06-13T11:07:12.820 回答
16

当您将应用程序固定到任务栏时,它只是在以下目录中创建一个快捷方式:

C:\Users\<User Name>\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

您应该能够识别快捷方式的位置(即,获取 KnownFolders 并从那里工作。UserAppData 应该是那个),然后使用 P/Invoke (IShellLink),您可以更改设置快捷方式使用的图标。机器可能需要重新启动才能生效,但它应该可以工作。

如果在右键单击固定的应用程序时按住 Shift 并选择“属性”,则可以看到快捷方式的“更改图标”按钮。这基本上是您需要用代码模拟的内容。

所有这些事情都可以用代码来完成,但是你是否认为它们比注册表设置更好取决于你。

于 2009-06-17T11:23:27.560 回答
1

您可以使用基于“Windows Vista Bridge”的名为“Windows 7 Bridge”的库来执行此操作。

这些是围绕所有 Vista 和 Windows 7 本机功能的托管包装器。

更多信息可以在这里找到

于 2009-06-09T09:55:46.217 回答
1

我不知道我是否理解你的问题,但是..

如果您创建一个应用程序并放置主窗口的图标属性,该图标也会出现在任务栏中。但是,如果您将其固定到任务栏,该图标就会消失。我对吗?如果是这样,请转到项目属性并在应用程序选项卡中,放置您想要的 exe 图标。现在,您将在固定时在任务栏中看到该图标。

我对两件事都使用相同的图标:P

于 2009-06-15T23:37:43.063 回答
1

据我所知,由于某种原因,您无法更改已固定到任务栏的程序的图标。要做到这一点,只需取消固定程序,在开始菜单中找到它,右键单击 - 属性 - 更改图标。然后将其重新固定到任务栏,它将具有新图标!

于 2009-08-14T00:23:30.710 回答
0

看看这个博客。他撰写了一系列有关对 Windows 7 任务栏进行编程的博客文章,因此也许这会为您指明正确的方向。

于 2009-06-09T09:26:39.770 回答
0

不幸的是,我现在无法对此进行测试,但也许只是创建一个常规的、好的旧快捷方式可以解决问题?创建应用程序的快捷方式,更改图标,然后固定快捷方式而不是应用程序本身?

将检查我下次何时可以访问我的 Windows 7 机器...

于 2009-06-17T11:01:08.167 回答
0

右键单击固定图标,在弹出窗口中您会看到程序标题,再次右键单击并转到属性。在那里,您可以通过单击“更改图标”按钮来更改图标。对我来说,它需要重新启动才能完成更改。

于 2010-10-26T08:08:19.080 回答
-1

如果您想在任务栏中有一个快捷方式,可以直接转到有用的地方,例如您的“我的文档”目录。简单的修复。. .

将文件夹放入任务栏(创建图像的快捷方式)。导航到放置该快捷方式的目录,右键单击快捷方式并选择“属性”以更改目标。选择“常规”选项卡以更改快捷方式的名称。快捷方式放在这里:

C:\Users[user]\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

您可以导航到此目录并编辑“图像”快捷方式的属性。

于 2013-07-01T17:40:37.217 回答