Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何在VisualStudio2010中执行“shell”图标嵌入?_Visual Studio_Visual Studio 2010_Icons_Embedding_Shell Icons - Fatal编程技术网

Visual studio 如何在VisualStudio2010中执行“shell”图标嵌入?

Visual studio 如何在VisualStudio2010中执行“shell”图标嵌入?,visual-studio,visual-studio-2010,icons,embedding,shell-icons,Visual Studio,Visual Studio 2010,Icons,Embedding,Shell Icons,据我所知,至少有?三种类型的图标嵌入。这是shell32.dll和friends.NET嵌入使用的原始样式,以及WPF使用的新类型。我正在寻找如何执行第一个,因为我想有一些其他图标作为跳转列表的资源,它只能接受这种样式。然而,我不知道如何嵌入这种风格,只有另外两种 我该怎么做?我在谷歌等网站上找到的所有结果都是为了在ResX文件或类似文件中添加图标。我以前从未听说过“图标嵌入”这个词。如果您谈论的是在资源管理器或桌面快捷方式中EXE或DLL可见的图标:这与任何Windows程序的操作方式相同。W

据我所知,至少有?三种类型的图标嵌入。这是shell32.dll和friends.NET嵌入使用的原始样式,以及WPF使用的新类型。我正在寻找如何执行第一个,因为我想有一些其他图标作为跳转列表的资源,它只能接受这种样式。然而,我不知道如何嵌入这种风格,只有另外两种


我该怎么做?我在谷歌等网站上找到的所有结果都是为了在ResX文件或类似文件中添加图标。

我以前从未听说过“图标嵌入”这个词。如果您谈论的是在资源管理器或桌面快捷方式中EXE或DLL可见的图标:这与任何Windows程序的操作方式相同。WF和WPF都使用/win32res compile选项为程序集提供具有选定图标的非托管资源。您可以在VisualStudio中使用File+Open+File查看它,选择EXE或DLL

要创建.res文件,请首先创建.rc文件。你可以用C++ IDE创建一个。右击该解决方案,添加新项目、VisualC++、Win32、Win32控制台应用程序。右键单击资源文件文件夹,添加+资源,选择图标,导入。选择您的文件。根据需要重复。生成之后,将在项目的调试生成目录中获得一个.res文件


回到C项目,项目+属性,应用程序选项卡。选择Resource File(资源文件)选项并导航到.res文件。

我强烈建议您看看这里发布的这个解决方案。它直接集成到ms build post build事件中,不需要非托管项目从.rc/.res文件创建程序集

<>这将移除对第二个解决方案/程序集的依赖性,无论何时您想要更新一个图标,并将IL从编译的C++程序集中解救出来。
我还建议您在部署时查看一下。我已经写了一本指南,随附于此答案。

如果我的术语不正确,请原谅,不知道搜索什么是问题的一部分。正如您所描述的,我可以通过在VS中打开程序集看到应用程序自己的图标,这就是我要说的;但是,我想知道如何在构建过程中自动在此处添加其他图标。这是一篇非常有用的文章,可以将图标添加到JumpList图标中。