在VC中更改可执行程序的图标

本文介绍两种在MFC程序中替换程序图标的方法。第一种是直接替换资源文件中的图标;第二种是在无法直接修改资源文件的情况下,通过创建rc文件和h文件来实现图标更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


我这有两种方法:
一种是:
更改资源文件的文件,将想要的图标,拷到资源目录下,更名,将原来的删掉.  
第二种是实在没办法的情况,写下rc文件
首先把你的图标拷贝到当前目录(程序目录)。然后新建个script.rc 和 resource.h 这两个文件 
假设图标的名称为music.ico
然后复制下面的代码到这两个文件中:
Code:
  
// 这个为Script.rc的代码
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS   
/////////////////////////////////////////////////////////////////////////////   
//   
// Generated from the TEXTINCLUDE 2 resource.   
//
#include "afxres.h"   
  
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS   
  
/////////////////////////////////////////////////////////////////////////////   
// Chinese (中国) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32   
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32   
  
/////////////////////////////////////////////////////////////////////////////   
//   
// Icon   
//   
  
// Icon with lowest ID value placed first to ensure application icon   
// remains consistent on all systems.   
IDI_MAINICON             ICON     DISCARDABLE     "music.ico" //####!!!!!!
#ifdef APSTUDIO_INVOKED   
/////////////////////////////////////////////////////////////////////////////   
//   
// TEXTINCLUDE   
//   
  
1 TEXTINCLUDE DISCARDABLE   
BEGIN   
    "resource.h\0"  
END   
  
2 TEXTINCLUDE DISCARDABLE   
BEGIN   
    "#include ""afxres.h""\r\n"  
    "\0"  
END   
  
3 TEXTINCLUDE DISCARDABLE   
BEGIN   
    "\r\n"  
    "\0"  
END
#endif     // APSTUDIO_INVOKED
#endif     // Chinese (中国) resources   
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED   
/////////////////////////////////////////////////////////////////////////////   
//   
// Generated from the TEXTINCLUDE 3 resource.   
//   
  
  
/////////////////////////////////////////////////////////////////////////////
#endif     // not APSTUDIO_INVOKED   
  
然后是resource.h的代码
Code:
//{{NO_DEPENDENCIES}}   
// Microsoft Developer Studio generated include file.   
// Used by Script1.rc   
//
#define IDI_ICON1                        101
#define IDI_MAINICON                     101   
  
// Next default values for new objects   
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE         102
#define _APS_NEXT_COMMAND_VALUE          40001
#define _APS_NEXT_CONTROL_VALUE          1000
#define _APS_NEXT_SYMED_VALUE            101
#endif
#endif   
在Script.rc中//####!!!!!! 有个这样的注释 前面表示代码是你需要修改成你图标的名字
然后保存完后,只要在资源文件夹中导入Script.rc和你的图标两个资源即可,那个头文件可以不导入!
一声感叹:太没C-Free方便了,不过MFC时也会方便的 ,这个是比较通常的情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值