C++ 是否更改Visual Studio 2005中的应用程序图标?

C++ 是否更改Visual Studio 2005中的应用程序图标?,c++,visual-studio-2005,icons,visual-c++-2005,C++,Visual Studio 2005,Icons,Visual C++ 2005,我想为我的游戏的演示版本使用不同的图标,我使用不同的构建配置构建演示,而不是完整的verison,使用预处理器定义锁定一些内容,使用不同的图形,等等。是否有一种方法可以让Visual Studio在演示配置中使用不同的应用程序图标,但在完整版本的配置中继续使用常规图标?这会让您半途而废: 然后,您需要找到Win32调用,该调用将从嵌入图标列表中设置显示的图标。我不知道visual studio中的方法,因为应用程序设置已绑定到孔项目。但一种简单的方法是使用预构建事件,并将app.demo.ico

我想为我的游戏的演示版本使用不同的图标,我使用不同的构建配置构建演示,而不是完整的verison,使用预处理器定义锁定一些内容,使用不同的图形,等等。是否有一种方法可以让Visual Studio在演示配置中使用不同的应用程序图标,但在完整版本的配置中继续使用常规图标?

这会让您半途而废:


然后,您需要找到Win32调用,该调用将从嵌入图标列表中设置显示的图标。

我不知道visual studio中的方法,因为应用程序设置已绑定到孔项目。但一种简单的方法是使用预构建事件,并将app.demo.ico复制到app.ico或app.release.ico复制到app.ico,以要求密钥$(ConfigurationName)的值,并参考项目目录中的app.ico。

根据需要,您可以在*.rc文件中使用预处理器指令。你应该这样写

#ifdef _DEMO_VERSION_
IDR_MAINFRAME ICON "demo.ico"
#else
IDR_MAINFRAME ICON "full.ico"
#endif

我要做的是设置一个预构建事件(项目属性->配置属性->构建事件->预构建事件)。预生成事件是一个命令行。我将使用它将适当的图标文件复制到构建图标

例如,假设您的构建图标为“app.ico”。我会让我的完整图标“app_full.ico”和我的演示图标“app_demo.ico”。然后,我将按如下方式设置预构建事件:

全模式预构建事件:

del app.ico | copy app_full.ico app.ico
del app.ico | copy app_demo.ico app.ico
演示模式预构建事件:

del app.ico | copy app_full.ico app.ico
del app.ico | copy app_demo.ico app.ico

我希望这有帮助

您确实可以在rc文件中使用预处理器指令。我认为这是一种方法+1这是最好的解决方案。起初我并没有意识到它在工作,因为explorer缓存了我的图标,所以我还发现可以通过资源查看器中的图标属性设置条件。