更改固定任务栏图标(Windows 7)

时间:2009-06-09 09:18:00

标签: c# .net windows-7 icons taskbar

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

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

未尝试,此solution可能有效,但看起来很脏。


编辑:

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

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

9 个答案:

答案 0 :(得分:23)

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

调试大师series of articles在新的任务栏API上有一个Sasha Goldshtein。你应该看一下Overlay Icons and Progress Bars API

您可以从Microsoft Code上的Windows 7 Taskbar Developer Resources下载示例代码。你要找的是IMClient样本:

  

IMClient示例演示了如何操作   任务栏覆盖图标和任务栏   进度条可以亮起来   相反,应用程序的任务栏按钮   依赖于一个额外的对话框或   在系统通知中的图标上   区域(托盘)。

     

alt text   alt text   alt text

我相信这可以帮助你实现你想要的目标。

答案 1 :(得分:16)

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

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

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

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

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

答案 2 :(得分:1)

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

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

可以找到更多信息here

答案 3 :(得分:1)

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

如果您创建一个应用程序并放置主窗口的图标属性,该图标也将出现在任务栏中。但是,如果你将它固定到任务栏,那个图标会消失。我对吗?如果是这样,请转到项目属性,然后在应用程序选项卡中,为exe提供所需的图标。现在,当固定时,您将在任务栏中看到该图标。

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

答案 4 :(得分:1)

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

答案 5 :(得分:0)

看看this blog。他做了一系列有关Windows 7任务栏编程的博客文章,所以也许这会指出你正确的方向。

答案 6 :(得分:0)

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

将检查我何时可以访问我的Windows 7计算机...

答案 7 :(得分:0)

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

答案 8 :(得分:-1)

如果您希望在任务栏中有一个直接进入某个有用位置的快捷方式,例如“我的文档”目录。简单的解决方案。 。 。

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

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

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