【问题标题】:How can I change the default .exe icon in Visual Studio 2012 (C++)如何更改 Visual Studio 2012 (C++) 中的默认 .exe 图标
【发布时间】:2013-04-08 05:19:04
【问题描述】:

我想知道是否有办法更改 VS2012 在我编译我的应用程序时生成的默认图标。只是对于那些想知道的人,我正在尝试更改 .exe 程序的图标,而不是窗口左上角和开始菜单上的窗口图标。我已经知道该怎么做。我一直在用谷歌搜索它,它总是显示如何更改窗口图标,而不是实际文件的图标。提前谢谢!!!

编辑:这就是我想要做的......

我想换这个...

有了这个……

]

谢谢,希望这可以澄清。

【问题讨论】:

    标签: c++ windows file icons executable


    【解决方案1】:

    为可执行文件添加图标

    已针对 VS2012 Express 测试

    在您的 .vcxproj 文件旁边创建一个 icon.rc file 并用以下文本填充它:

    // Icon Resource Definition
    #define MAIN_ICON                       102
    MAIN_ICON               ICON                    "your_icon.ico"
    

    然后将以下内容添加到您的.vcxproj 文件中Project 标记内的任意位置:

    <ItemGroup>
        <ResourceCompile Include="icon.rc">
        </ResourceCompile>
    </ItemGroup>
    

    其他选项

    如果您愿意,可以将定义转发到您的 icon.rc 文件,如下所示:

    <ItemGroup>
        <ResourceCompile Include="icon.rc">
            <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/D_DEBUG %(AdditionalOptions)</AdditionalOptions>
        </ResourceCompile>
    </ItemGroup>
    

    注意/D_DEBUG 定义,它为您的资源文件定义了_DEBUG。然后在您的icon.rc 文件中正常检查定义:

    #define MAIN_ICON 102
    #if defined(_DEBUG)
    MAIN_ICON               ICON                    "debug_icon.ico"
    #else
    MAIN_ICON               ICON                    "release_icon.ico"
    #endif
    

    【讨论】:

    • 你在使用 VS2012 Express 和 c++ 项目吗?
    • 您的代码中没有提到 LoadImage 或 LoadIcon,我后来发现它是完成这项工作所必需的。您的答案不完整,因此几乎没用。
    • 我刚刚尝试了一个从头开始的项目,它成功了。如果可能发布如何重现您的案例,请随时编辑此答案以添加任何其他信息或发布另一个答案。注意我只用控制台 c++ 应用程序测试了 VS2012 Express。
    【解决方案2】:
    1. 在 C++ 项目的资源部分添加一个图标。此图标将显示为可执行文件的应用程序图标。 [注意:确保您在资源视图窗口中,而不是在解决方案资源管理器窗口中。然后右击rc文件夹添加资源...]

    2. 我已经在 Win32 控制台应用程序中尝试过此操作,它在资源管理器中将图标显示为应用程序图标。这也适用于其他类型的应用程序。

    3. 另外请注意,在添加图标时,您需要为图标添加不同尺寸的图像,例如 16*16、32*32。 Windows Explorer 将使用这些不同的图标图像以不同的视图模式(小图标、中图标、大图标、超大图标等)显示应用程序图标

    【讨论】:

      【解决方案3】:

      这并不是真正的工作方式。 Windows显示的程序图标的大小不是由您决定的,用户选择它。这是用户偏好,只需在桌面上滚动鼠标滚动按钮,即可在更高版本的 Windows 上轻松更改。并且一个图标不只有一个大小,它能够存储多个图像。 Windows 会选择最适合的那个。而你在开始一个新项目时得到的只是一个存储在项目模板中的库存。您可以通过修改项目模板 .zip 文件来更改它,但这有点没有意义,您希望为您的程序提供一个自定义图标来个性化它。

      最好的办法是偷、乞或借,做一个好看的图标是一门艺术。有很多网站可以免费下载。如果您想尝试创建自己的内容,那么这也是受支持的。只需双击项目的 .rc 文件即可打开资源视图,打开 Icon 节点并双击默认图标即可打开图标编辑器。您使用 Image + New Image Type 添加新尺寸。还提供大量免费软件图标编辑器。

      【讨论】:

      • .rc 文件在哪里??我查看了整个项目文件,但在任何地方都找不到 .rc 文件。 VS2012 是否仍然使用 .rc 文件,或者它可能与设置有关?可能是不允许我制作 .rc 文件的设置吗?我也在使用快递版。是不会制作.rc文件的速成版的东西吗?我记得在 VS2008 和 2010 中有该文件,但它不在 VS2012 中。提前致谢。
      • 我不知道,也许你忘了创建一个。默认的“Win32 Project”项目模板肯定会创建一个。
      • 我读到它不会再在特快版上制作 .rc 文件了。臭死了。您还有其他建议吗??
      【解决方案4】:

      如果它是一个 Win32 应用程序,那么您可以将资源添加到您的项目中,然后将图标放在那里。然后您可以通过发送 WM_SETICON 方法将图标分配给您的应用程序。对于 MFC 应用程序,资源已经存在,并且您可以更改指定的图标资源。

      您也可以按照此处的建议直接从外部文件加载它:

      Setting program icon without resources using the WIN32 API

      我会推荐资源路线。资源嵌入到您的可执行文件中,这是在 Win32 和 MFC 中执行此类操作的推荐方式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-28
        • 2012-08-18
        • 2017-10-11
        • 1970-01-01
        • 1970-01-01
        • 2013-01-07
        相关资源
        最近更新 更多