更改生成exe文件的图标
其他方法参考:
方法二:
Change ICON of MFC Application and Dialog - CodeProject
1、在资源视图Icon下加入想用的图标;
2、修改该图标的value值,把值改为Icon下几个图标中最小的:
(1)方法一:打开Header Files下的Resource.h,找到Icon下的图标,系统默认是从128开始的,
#define IDR_MAINFRAME 128
#define IDR_ICONTETYPE 129(单/多文档程序的文档图标) #define IDI_ICON1 130 #define IDI_ICON2 131
可以修改全部的value值,也可以只修改想用的图标,只要保证value值是Icon下几个图标中最小的就可以;
(2)方法二:在图标的属性对话框中,在ID后面加上=value,比如IDI_ICON1=127,也要保证value值是Icon下几个图标中最小的。
方法三:
1、在资源视图中删除Icon下的IDR_MAINFRAME和IDR_ICONTETYPE;
2、加入想用的图标,可以改名为IDR_MAINFRAME,也可以不改;
3、如果不改名为IDR_MAINFRAME,则在程序中要修改相应的代码:
基于对话框的程序,在构造函数中有一句
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
记得把IDR_MAINFRAME改为你自己的图标名。
下面是改变运行时图标的办法(不会改变EXE中的ICON):
extern CDNA_Bridge_DemoApp theApp;
// 第一个参数是替换的ico文件路径,可自行补完
//调用方法很简单,例如下面这样就可以了
//ReplaceExeIco(_T("F://11.ico"));
void ReplaceExeIco( LPCTSTR lpszIco)
{
HICON hIcon, hIconSm;
CWnd* cwnd = theApp.m_pMainWnd;
HWND hwnd = cwnd->GetSafeHwnd();
hIcon = (HICON)LoadImage(NULL, "icon.ico", IMAGE_ICON, 32, 32, LR_LOADFROMFILE);
if(hIcon)
SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
else
MessageBox(hwnd, "Could not load large icon!", "Error", MB_OK | MB_ICONERROR);
hIconSm = (HICON)LoadImage(NULL, "icon.ico", IMAGE_ICON, 16, 16, LR_LOADFROMFILE);
if(hIconSm)
SendMessage(hwnd,WM_SETICON, ICON_SMALL, (LPARAM)hIconSm);
else
MessageBox(hwnd, "Could not load small icon!", "Error", MB_OK | MB_ICONERROR);
}