博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(转)Inno Setup入门(十四)——替换安装程序和卸载程序的图标
阅读量:5916 次
发布时间:2019-06-19

本文共 1383 字,大约阅读时间需要 4 分钟。

本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17250937
通常Inno生成的安装文件的图标是一个光盘和显示器,如下图。同时,程序安装好之后,在安装目录下的卸载程序的图标也是一样的,其实我们也可以自己修改。

首先生成的安装文件图标。这个比较简单,只需要在Setup段中添加相应的语句即可:

SetupIconFile=jiong.ico

该语句指定了输出文件的图标,注意如果图标不是和脚本在同一目录下的话,需要提供完整的路径。

然后是卸载程序的图标。事实上,把包含前面替换语句的程序编译之后,将其安装,会发现卸载程序其实也安装程序的图标一样被替换了,即安装程序自动实现了图标的替换工作。现在的问题是,如果想和安装的图标不一样,该如何处理?实现方法如下:

1.准备好图标文件,和脚本放入同意目录下。

2.使用一个名为UpdateIcon.dll的插件

3.添加Code段,代码如下:

[code]

//插件函数用法

//参数:句柄(插件错误对话框的父句柄), exe文件完整路径名称, (exe文件中要替换的)图标资源名称,图标文件的完整路径名称, (exe中要替换的图标资源所在)语系

//返回值:成功 = Tr, 失败 = False

function UpdateIcon(const hWnd: Integer; const exeFileName, exeIcon, IcoFileName: String; wlangID: DWORD): Boolean;

external 'UpdateIcon@files:UpdateIcon.dll stdcall';

 

//替换卸载程序的图标

function UpdateUninstIcon(const IcoFileName: String): Boolean;

begin

//要替换图标的exe文件路径名称留空,则插件会自动替换掉Inno卸载程序的图标,其它参数类似!

Result:= UpdateIcon(MainForm.Handle, '', '', IcoFileName, 0);

//替换卸载图标

end;

 

procedure CurStepChanged(CurStep: TSetupStep);

var

sIcon: String;

begin

//注意:替换卸载程序的图标,必须是在卸载程序生成之前!

//安装图标与卸载图标的格式与大小一致,否则可能会导致卸载程序出错!

if CurStep=ssInstall then

begin

sIcon:= ExpandConstant('{tmp}\uninstall.ico'); //定义卸载图标

ExtractTemporaryFile(ExtractFileName(sIcon)); //释放卸载图标

//要替换图标的exe文件路径名称留空,则插件会自动替换掉Inno卸载程序的图标!

UpdateUninstIcon(sIcon);//替换卸载图标

end;

end;

编译之后就可以了。下面是输出文件和安装好之后的目录:

安装文件

转载于:https://www.cnblogs.com/wpcnblog/p/3884539.html

你可能感兴趣的文章
chromium浏览器开发系列第一篇:如何获取最新chromium源码
查看>>
[leetcode] Spiral Matrix
查看>>
swoole tcp client/server-献给swoole初初初初初初学者们
查看>>
iOS8.0+后去横竖屏概念
查看>>
关于ibatis动态拼凑查询条件失败,咋回事?大虾求指教!
查看>>
自制的一些js常用验证方法,有请大家给意见与补充
查看>>
Android 之联系人提供程序
查看>>
CentOS7 备忘录
查看>>
.net工作流引擎ccflow新增支持PostgreSQL数据库的功能的发布说明
查看>>
【转载】MySQL 大小写区分问题
查看>>
五类数据存储模型行、列、键值对、文档、图
查看>>
MyISAM 和 InnoDB 讲解
查看>>
oracel备份
查看>>
微信自动回复中如何添加超链接
查看>>
Left/right join 和inner join 区别
查看>>
spark读取myslq优化--单机版
查看>>
正则替换
查看>>
ubuntu 14.04 lts 安装gogs v0.6.1
查看>>
运维老司机的问题排查经验总结帮你顺利排险
查看>>
报表工具Style Report报表设计器的功能及特点
查看>>