C++ Win32:更改程序图标
我最初认为IDI_ICON1非常适合我的课程:C++ Win32:更改程序图标,c++,visual-studio-2010,resources,C++,Visual Studio 2010,Resources,我最初认为IDI_ICON1非常适合我的课程: wndclass.hIcon = LoadIcon (HINST_THISCOMPONENT, MAKEINTRESOURCE(IDI_ICON1)); 该图标随后出现在“我的主窗口”和“Windows资源管理器”中的.exe文件的标题菜单的左上角 我决定我更喜欢IDI_ICON2,所以我改变了: wndclass.hIcon = LoadIcon (HINST_THISCOMPONENT, MAKEINTRESO
wndclass.hIcon = LoadIcon (HINST_THISCOMPONENT, MAKEINTRESOURCE(IDI_ICON1));
该图标随后出现在“我的主窗口”和“Windows资源管理器”中的.exe文件的标题菜单的左上角
我决定我更喜欢IDI_ICON2,所以我改变了:
wndclass.hIcon = LoadIcon (HINST_THISCOMPONENT, MAKEINTRESOURCE(IDI_ICON2));
现在icon2显示在标题菜单的左上角,但Windows资源管理器中的图标仍显示为icon1。我遗漏了什么?资源管理器将获取可执行文件中的第一个图标。这将是id最低的一个。请尝试管理您的资源,以便将IDI_ICON2定义为比IDI_ICON1更低的整数。这可能是由于缓存造成的。尝试移动到其他文件夹或重命名它。否则尝试重新启动。我刚刚重新启动并重建了应用程序,但它仍然显示icon1。我还将程序复制到另一个文件夹中,但仍然是icon1。window类的这个字段是Win32中唯一处理程序图标的区域吗?那么我猜我猜错了。。。XDIt可以是IconCache.db。。。关闭explorer.exe,删除文件,然后重新启动。看起来您是正确的。我将ID替换为图标,icon1似乎是在资源管理器中显示的图标,而与window类中设置的图标无关。谢谢您的建议。@user974967:我只是想澄清窗口类与可执行文件及其资源无关。使用资源编译器编译.rc文件,然后与可执行文件链接。这是正确的吗?代码中唯一处理图标的区域(据我所知)是窗口类设置。但是,我想这仅仅决定了标题栏中显示的图标。另外,你知道如何确定删除、复制/替换或“预览”中显示的图标吗?如果在VS中有一种方法可以做到这一点,我宁愿不去处理.rc文件。