Windows 我可以设置/更改exe中图标的默认索引吗?

Windows 我可以设置/更改exe中图标的默认索引吗?,windows,mfc,icons,executable,Windows,Mfc,Icons,Executable,我的exe(一个MFC应用程序)包含几个图标。我可以通过IconExplorer应用程序查看它们及其索引。当我在Windows7和XP下构建同一个项目时,我注意到图标的索引发生了变化(不过都是VisualStudio2010)。这是一个问题,因为我在安装过程中引用图标索引来注册/设置它们 有没有办法控制哪个图标可以设置在索引0,哪个图标可以设置在索引1等等 我不知道为什么Windows 7 build和XP build的索引会发生变化,这两个版本都来自同一份源代码。如果我们不能分配索引,这会不会

我的exe(一个MFC应用程序)包含几个图标。我可以通过IconExplorer应用程序查看它们及其索引。当我在Windows7和XP下构建同一个项目时,我注意到图标的索引发生了变化(不过都是VisualStudio2010)。这是一个问题,因为我在安装过程中引用图标索引来注册/设置它们

有没有办法控制哪个图标可以设置在索引0,哪个图标可以设置在索引1等等


我不知道为什么Windows 7 build和XP build的索引会发生变化,这两个版本都来自同一份源代码。如果我们不能分配索引,这会不会使它们有些冗余,因为我们不能可靠地使用它们?

确保ID值最低的图标放在RC文件的第一位。这确保图标索引在所有系统上保持一致。因此,请按ID对它们进行排序

另外,请确保ID值大于128,因为这通常是主图标的值(您希望位于索引0处)


更新:对此不确定,但可能区域设置会干扰?例如,您的图标是否属于非中性资源?

不确定非中性的含义,但与其他应用程序一样,my exe几乎没有.ico文件。我认为这与资源ID(如u-pointed)有关,但它们在两个版本中基本相同。您可以在VisualStudio中打开exe,并使用那里的资源编辑器直接查看编译后的资源。据我所知,最低的ID总是先放在文件中,然后是下一个最低的ID,依此类推……我假设资源ID是相同的。但是,它们必须按升序排列。否则索引可能会在某些系统上失败。你是对的,我的错。作为资源ID的两个文件中都有一个文件差异。这就解决了问题。