自定义图标每个文件实例

一些Windows程序可以使用不同的图标为不同的文件具有相同的扩展名。

  • .sln可以显示不同的图标,具体取决于解决scheme的版本(实际上由.sln顶部的版本号确定)
  • Photoshop .psd文件具有带图像缩略图的图标
  • 如果在Internet Explorer中打开或保存,.url快捷方式文件具有该页面的图标

我猜测它只能定制到那台电脑上。 在没有安装Visual Studio的框中,.sln文件只有默认的“我不知道这个程序”图标。 有什么需要在registry中更改吗?

我怎样才能做到这一点? 我想有自定义图标与文件关联到我自己的程序的选项。

[编辑]我真的可以在托pipe代码中做到这一点。 这是可能的 (<SDK v1.1> \ Samples \ Technologies \ Interop \ Applications \ ShellCmd),但它也似乎是潜在的危险和实际工作的错误工具: http : //social.msdn.microsoft.com/论坛/ en-US / netfxbcl / thread / 1428326d-7950-42b4-ad94-8e962124043e / 。 我真的希望MS现在能有一个好的托pipeAPI。

在CodeProject上看看这个C ++代码 :本质上,你写一个COM处理程序并注册它为你的扩展。 请注意,如果在图标处理程序或外壳扩展中泄漏资源,可能会让Explorer进程变得非常糟糕… C ++可能是一个挑战,但我不会推荐在C#或Java中使用这些内存消耗的原因单独的每个扩展/处理程序框架代码的副本!)。