更改MFC标题栏图标、托盘图标和生成的执行文件图标

⌚Time: 2022-12-26 19:16:20

👨‍💻Author: Jack Ge

添加图标资源,在资源视图中添加ICON资源,导入现有图标

改变生成程序的exe图标

将默认的的图标删除就会使用新的图标作为程序图标

或者Resource.h中可以看到图标资源ID,其中IDR_MAINFRAME就是程序的默认图标,更改其ID变为比自定义IDI_ICON1图标ID大,系统会选择ID图标最小的作为程序图标

修改图标编译后发现程序图标没有改变,由于系统图标缓存造成的,删除图标缓存,%USERPROFILE%\AppData\Local\IconCache.db文件就可以了

改变标题栏和任务栏图标

在窗体构造函数中有这样一句,IDR_MAINFRAME就是设置的标题栏和任务栏图标,将其改为需要的图标资源ID


m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

改变托盘图标为IDI_ICON1


NOTIFYICONDATA  m_stNotifyIcon;

m_stNotifyIcon.hIcon = ::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON1));

效果: