更改exe文件的图标

这是一个账号007 2014-08-11 10:59:43
想做个这个小软件,请问,这个实行起来的核心是什么啊?
就是怎么把指定图标,送到exe的资源文件去,同时改变现实图标?
...全文
377 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 18 楼 cvbtvbwu 的回复:
[quote=引用 17 楼 a13728843352 的回复:] 很感谢大家的热情回复,但是貌似大家都没有弄明白我的问题。。 这次我讲细点,首先,我是A方,我编译了一个对话框的exe文件。exe文件运行起来之后, 对话框有一块区域是一个Picture控件,里面会显示一张图片(不管是res里面加载还是动态Load的BMP图)。 现在我把这个exe文件发给B方(仅仅是exe文件)。 B方需要自己把Picture上的图片,改成任意他想要的图。 我已经尝试过了ExeScope这个工具,但是更改了BMP图之后,这个exe在Win7 和XP系统上打开,picture位置的图颜色不一样,在win7上颜色差异很大。所以,这个方式可能也不太适用。 怎么办呢?
就把你显示的图片固定是放在当前exe路径文件夹下的XX.bmp.程序起来时判断这图片路径是否存在,存在则显示它,不就行了[/quote] 我也想这么做。。问题别人不想啊。。
叶恭介叶恭介 2014-08-18
  • 打赏
  • 举报
回复
引用 17 楼 a13728843352 的回复:
很感谢大家的热情回复,但是貌似大家都没有弄明白我的问题。。 这次我讲细点,首先,我是A方,我编译了一个对话框的exe文件。exe文件运行起来之后, 对话框有一块区域是一个Picture控件,里面会显示一张图片(不管是res里面加载还是动态Load的BMP图)。 现在我把这个exe文件发给B方(仅仅是exe文件)。 B方需要自己把Picture上的图片,改成任意他想要的图。 我已经尝试过了ExeScope这个工具,但是更改了BMP图之后,这个exe在Win7 和XP系统上打开,picture位置的图颜色不一样,在win7上颜色差异很大。所以,这个方式可能也不太适用。 怎么办呢?
就把你显示的图片固定是放在当前exe路径文件夹下的XX.bmp.程序起来时判断这图片路径是否存在,存在则显示它,不就行了
  • 打赏
  • 举报
回复
很感谢大家的热情回复,但是貌似大家都没有弄明白我的问题。。 这次我讲细点,首先,我是A方,我编译了一个对话框的exe文件。exe文件运行起来之后, 对话框有一块区域是一个Picture控件,里面会显示一张图片(不管是res里面加载还是动态Load的BMP图)。 现在我把这个exe文件发给B方(仅仅是exe文件)。 B方需要自己把Picture上的图片,改成任意他想要的图。 我已经尝试过了ExeScope这个工具,但是更改了BMP图之后,这个exe在Win7 和XP系统上打开,picture位置的图颜色不一样,在win7上颜色差异很大。所以,这个方式可能也不太适用。 怎么办呢?
wyx100 2014-08-15
  • 打赏
  • 举报
回复
引用 8 楼 VisualEleven 的回复:
MSDN上给了步骤了: Updating Resources The following example copies a dialog box resource from one executable file, Hand.exe, to another, Foot.exe, by following these steps: 1.Use the LoadLibrary function to load the executable file Hand.exe. 2.Use the FindResource and LoadResource functions to locate and load the dialog box resource. 3.Use the LockResource function to retrieve a pointer to the dialog box resource data. 4.Use the BeginUpdateResource function to open an update handle to Foot.exe. 5.Use the UpdateResource function to copy the dialog box resource from Hand.exe to Foot.exe. 6.Use the EndUpdateResource function to complete the update. http://blog.csdn.net/visualeleven/article/details/5754831
sunnysab 2014-08-15
  • 打赏
  • 举报
回复
记得我第一次给自己写的程序加上图标是在一个除夕夜……
fronz 2014-08-15
  • 打赏
  • 举报
回复
这个实现起来应该是方法很多的, 我感兴趣的是,这个图标动态加载,这个理念有意思。 是利用其加载广告么,或者做个改其他软件的程序。 那么,这个所带来的结果是需要防范的喽。
smilecabbage 2014-08-15
  • 打赏
  • 举报
回复
怎么都整的这么麻烦啊 ,直接将图标复制到 res文件夹内替换掉 项目名.ico 这个文件, 编译就OK了。 如果再偷懒点 ,可以ExeScope这个小工具 ,直接修改文件图标,效果杠杠滴 。
dvlinker 2014-08-13
  • 打赏
  • 举报
回复
bBigIcon Specifies a 32 pixel by 32 pixel icon if TRUE; specifies a 16 pixel by 16 pixel icon if FALSE.
dvlinker 2014-08-13
  • 打赏
  • 举报
回复
引用 10 楼 rxguoblp 的回复:
不就是改个.exe程序的图标嘛,还用整这么麻烦,吓唬人家小姑娘?还是我没看懂问题??? 1.把你希望显示的图标文件(.ico)添加到工程默认的res文件夹中; 2.通过工程的“资源视图”编辑卡把res文件夹里面的图标文件(.ico)添加到你自己的工程中,这时编译器会自动位置指定ID,例如IDI_ICON1 3.打开你的Resource.h,修改IDI_ICON1宏,原则上就是把他的值改成最小(编译器默认从100开始向后排,你可以把IDI_ICON1的值设为99); 4.重新编译程序,齐活儿,看看你的.exe图标变了没有。
好像以前的版本有个bug,要加上下面两句话: SetIcon( IDI_ICON1, TRUE ); SetIcon( IDI_ICON1, FALSE );
rxguoblp 2014-08-13
  • 打赏
  • 举报
回复
不就是改个.exe程序的图标嘛,还用整这么麻烦,吓唬人家小姑娘?还是我没看懂问题??? 1.把你希望显示的图标文件(.ico)添加到工程默认的res文件夹中; 2.通过工程的“资源视图”编辑卡把res文件夹里面的图标文件(.ico)添加到你自己的工程中,这时编译器会自动位置指定ID,例如IDI_ICON1 3.打开你的Resource.h,修改IDI_ICON1宏,原则上就是把他的值改成最小(编译器默认从100开始向后排,你可以把IDI_ICON1的值设为99); 4.重新编译程序,齐活儿,看看你的.exe图标变了没有。
Eleven 2014-08-12
  • 打赏
  • 举报
回复
MSDN上给了步骤了: Updating Resources The following example copies a dialog box resource from one executable file, Hand.exe, to another, Foot.exe, by following these steps: 1.Use the LoadLibrary function to load the executable file Hand.exe. 2.Use the FindResource and LoadResource functions to locate and load the dialog box resource. 3.Use the LockResource function to retrieve a pointer to the dialog box resource data. 4.Use the BeginUpdateResource function to open an update handle to Foot.exe. 5.Use the UpdateResource function to copy the dialog box resource from Hand.exe to Foot.exe. 6.Use the EndUpdateResource function to complete the update. http://blog.csdn.net/visualeleven/article/details/5754831
「已注销」 2014-08-12
  • 打赏
  • 举报
回复
如果是 BMP 或 ICO 之类的,基本上不需要动态加载。只需要把 BMP 和 ICO 作为资源加入,并在 RC 中把位图控件的标题写成 BMP 或 ICO 的资源 ID(非文字形式),系统会自动帮你加载。
引用
BEGIN CONTROL IDI_MAIN, IDC_ICON, "Static", SS_ICON, 10, 40, 20, 20 END IDI_MAIN ICON "icon.ico"
lx624909677 2014-08-12
  • 打赏
  • 举报
回复
引用 3 楼 a13728843352 的回复:
[quote=引用 1 楼 zhao4zhong1 的回复:] 使用ResHacker软件。
我现在的问题是,有个软件,里面有picture控件,初始化的时候,我可以动态的加载位图到里面去显示。 然后,我把软件发给别人,但是别人没有图(或者路径不对),那么这个加载就失败了,对吧。 现在就是,既要做到,这个图片能动态加载,同时,做到编译软件之后(正确加载位图),把软件别人,别人打开exe的时候,picture区域是想要的那个结果。[/quote] 你是用的加载本地资源吧?那给别人的时候要把图片也一起发给别人,并且把路径做成相对路径才可以,或者按楼上所说,添加到资源中之后加载资源,至于图标的话可以直接把你工程目录下的ico文件替换成你自己想要的图标
23妍 2014-08-12
  • 打赏
  • 举报
回复
*.ico放到resource名称一样
凌乱哥 2014-08-11
  • 打赏
  • 举报
回复
把图片作为资源导入到工程,程序运行后,把图片资源释放到磁盘的指定路径下,再动态加载并显示
  • 打赏
  • 举报
回复
引用 2 楼 oyljerry 的回复:
修改PE文件
版主大大,,回复同楼上。。帮我看看怎么解决。。
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
使用ResHacker软件。
我现在的问题是,有个软件,里面有picture控件,初始化的时候,我可以动态的加载位图到里面去显示。 然后,我把软件发给别人,但是别人没有图(或者路径不对),那么这个加载就失败了,对吧。 现在就是,既要做到,这个图片能动态加载,同时,做到编译软件之后(正确加载位图),把软件别人,别人打开exe的时候,picture区域是想要的那个结果。
oyljerry 2014-08-11
  • 打赏
  • 举报
回复
修改PE文件
赵4老师 2014-08-11
  • 打赏
  • 举报
回复
使用ResHacker软件。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧