Inno setup 常用修改技巧
http://www.cnblogs.com/awei0611/archive/2010/06/09.html 1 、如何让协议许可页面默认选中我同意按钮 [delphi] view plaincopyprint? [code] procedure InitializeWizard(); begin WizardForm . LICENSEACCEPTEDRADIO . Checked := true ; end ; [code]pro
http://www.cnblogs.com/awei0611/archive/2010/06/09.html
1 、如何让协议许可页面默认选中我同意按钮
[delphi] view plaincopyprint?
- [code]
- procedure InitializeWizard();
- begin
- WizardForm.LICENSEACCEPTEDRADIO.Checked := true;
- end;
[code] procedure InitializeWizard(); begin WizardForm.LICENSEACCEPTEDRADIO.Checked := true; end;
2、自定义安装程序右上角图片大小
[delphi] view plaincopyprint?
- [code]
- procedure InitializeWizard();
- begin
- WizardForm.WizardSmallBitmapImage.width:=150; //设置页眉图片的大小
- WizardForm.WizardSmallBitmapImage.left:=WizardForm.width-150; //设置左边页眉留出的空隙
- WizardForm.PAGENAMELABEL.width:=0; //设置标题文字显示的大小
- WizardForm.PAGEDESCRIPTIONLABEL.width:=0; //设置标题文字显示的大小
- end;
[code] procedure InitializeWizard(); begin WizardForm.WizardSmallBitmapImage.width:=150; //设置页眉图片的大小 WizardForm.WizardSmallBitmapImage.left:=WizardForm.width-150; //设置左边页眉留出的空隙 WizardForm.PAGENAMELABEL.width:=0; //设置标题文字显示的大小 WizardForm.PAGEDESCRIPTIONLABEL.width:=0; //设置标题文字显示的大小 end;
或者
//自定义安装向导小图片
[delphi] view plaincopyprint?
- [code]
- procedure InitializeWizard();
- begin
- Wizardform.WizardSmallBitmapImage.left:= WizardForm.width-164; //自定义安装向导小图片显示位置
- WizardForm.WizardSmallBitmapImage.width:=164; //自定义安装向导小图片宽度
- Wizardform.PageNameLabel.width:= 495 - 164 -36; //这儿必须定义,数值根据图片宽度更改,显示软件名称的位置
- Wizardform.PageDescriptionLabel.width:= 495 - 164 -42; //显示页面信息的位置
- end;
[code] procedure InitializeWizard(); begin Wizardform.WizardSmallBitmapImage.left:= WizardForm.width-164; //自定义安装向导小图片显示位置 WizardForm.WizardSmallBitmapImage.width:=164; //自定义安装向导小图片宽度 Wizardform.PageNameLabel.width:= 495 - 164 -36; //这儿必须定义,数值根据图片宽度更改,显示软件名称的位置 Wizardform.PageDescriptionLabel.width:= 495 - 164 -42; //显示页面信息的位置 end;
3、自定义BeveledLabel显示代码
[delphi] view plaincopyprint?
- [code]
- procedure InitializeWizard();
- begin
- WizardForm.BeveledLabel.Enabled:=true; //允许显示
- WizardForm.BeveledLabel.Font.Color:=$00058451;; //显示颜色
- WizardForm.BeveledLabel.Font.Style := WizardForm.BeveledLabel.Font.Style + [fsBold]; //显示字体
- WizardForm.BeveledLabel.Left:=5; //显示位置
- end;
[code] procedure InitializeWizard(); begin WizardForm.BeveledLabel.Enabled:=true; //允许显示 WizardForm.BeveledLabel.Font.Color:=$00058451;; //显示颜色 WizardForm.BeveledLabel.Font.Style := WizardForm.BeveledLabel.Font.Style + [fsBold]; //显示字体 WizardForm.BeveledLabel.Left:=5; //显示位置 end;
4、自定义安装向导图片
[delphi] view plaincopyprint?
- [code]
- procedure InitializeWizard();
- begin
- Wizardform.WELCOMELABEL1.left:= 18; //自定义欢迎页面标题1显示位置
- Wizardform.WELCOMELABEL2.left:= 18; //自定义欢迎页面标题2显示位置
- Wizardform.WizardBitmapImage.left:= WizardForm.width-164//自定义安装向导图片显示位置(显示大小,此处为居右显示)
- end;
[code] procedure InitializeWizard(); begin Wizardform.WELCOMELABEL1.left:= 18; //自定义欢迎页面标题1显示位置 Wizardform.WELCOMELABEL2.left:= 18; //自定义欢迎页面标题2显示位置 Wizardform.WizardBitmapImage.left:= WizardForm.width-164 //自定义安装向导图片显示位置(显示大小,此处为居右显示) end;
5、显示出组件选择框 [Types]
[delphi] view plaincopyprint?
- Name: full; Description: 推荐
- Name: default; Description: 典型
- Name: custom; Description: 自定义; Flags: iscustom
- ;告诉安装程序这个类型是自定义类型。必须定义iscustom这个参数,才能显示出组件选择框
Name: full; Description: 推荐 Name: default; Description: 典型 Name: custom; Description: 自定义; Flags: iscustom ;告诉安装程序这个类型是自定义类型。必须定义iscustom这个参数,才能显示出组件选择框
6、定义[Messages]的颜色
[delphi] view plaincopyprint?
- [code]
- procedure InitializeWizard();
- begin
- WizardForm.BeveledLabel.Enabled:= True;
- WizardForm.BeveledLabel.Font.Color:= clblue;
- end;
[code] procedure InitializeWizard(); begin WizardForm.BeveledLabel.Enabled:= True; WizardForm.BeveledLabel.Font.Color:= clblue; end;
7、不显示一些特定的安装界面
[delphi] view plaincopyprint?
- [code]
- function ShouldSkipPage(PageID: Integer): Boolean;
- begin
- if PageID=wpReady then
- result := true;
- end;
- (*
- wpReady 是准备安装界面
- PageID查询 INNO帮助中的 Pascal 脚本: 事件函数常量
- 预定义向导页 CurPageID 值
- wpWelcome, wpLicense, wpPassword, wpInfoBefore, wpUserInfo, wpSelectDir, wpSelectComponents, wpSelectProgramGroup, wpSelectTasks, wpReady, wpPreparing, wpInstalling, wpInfoAfter, wpFinished
[code] function ShouldSkipPage(PageID: Integer): Boolean; begin if PageID=wpReady then result := true; end; (* wpReady 是准备安装界面 PageID查询 INNO帮助中的 Pascal 脚本: 事件函数常量 预定义向导页 CurPageID 值 wpWelcome, wpLicense, wpPassword, wpInfoBefore, wpUserInfo, wpSelectDir, wpSelectComponents, wpSelectProgramGroup, wpSelectTasks, wpReady, wpPreparing, wpInstalling, wpInfoAfter, wpFinished
8、换行符号
在 [Messages] 换行符号为%n
在 MsgBox 中换行符号为 #13#10 //#13 为回车字符
9、颜色代码
(1)一个值形如 $bbggrr, 这里的 rr, gg 和 bb 指定了两位的亮度值(以十六进制表示)分别为红色,绿色和蓝色。
(2)预定义的颜色名称:
clBlack(黑色),clMaroon(暗红),clGreen(绿色),clOlive(橄榄绿),
clNavy(深蓝),clPurple(紫色),clTeal(深青),clGray(灰色),
clSilver(浅灰),clRed(红色),clLime(浅绿),clYellow(黄色),
clBlue(蓝色),clFuchsia(紫红),clAqua(青绿),clWhite(白色)。
10、inno代码注释符号
; 实例 —— ; 分号
// 实例 —— // 双斜杠 多用在code段
{ } 实例 —— {大括号 多用在code段}
注释符号均在英文输入法状态下输入
11、在运行卸载程序前显示弹出式消息
[delphi] view plaincopyprint?
- [code]
- function InitializeUninstall(): Boolean;
- begin
- if MsgBox('', mbConfirmation, MB_YESNO) = IDYES then
- result:=true
- else
- result:=false;
- end;
[code] function InitializeUninstall(): Boolean; begin if MsgBox('', mbConfirmation, MB_YESNO) = IDYES then result:=true else result:=false; end;
12、安装、卸载时判断是否程序正在运行,卸载完成时自动打开网页
[delphi] view plaincopyprint?
- [code]
- var
- ErrorCode: Integer;
- IsRunning: Integer;
- // 安装时判断客户端是否正在运行
- function InitializeSetup(): Boolean;
- begin
- Result :=true; //安装程序继续
- IsRunning:=FindWindowByWindowName('东方宽频网络电视');
- while IsRunning0do
- begin
- if Msgbox('安装程序检测到客户端正在运行。' #13#13'您必须先关闭它然后单击“是”继续安装,或按“否”退出!', mbConfirmation, MB_YESNO) = idNO then
- begin
- Result :=false; //安装程序退出
- IsRunning :=0;
- endelsebegin
- Result :=true; //安装程序继续
- IsRunning:=FindWindowByWindowName('东方宽频网络电视');
- end;
- end;
- end;
- // 卸载时判断客户端是否正在运行
- function InitializeUninstall(): Boolean;
- begin
- Result :=true; //安装程序继续
- IsRunning:=FindWindowByWindowName('东方宽频网络电视');
- while IsRunning0do
- begin
- if Msgbox('安装程序检测到客户端正在运行。' #13#13'您必须先关闭它然后单击“是”继续安装,或按“否”退出!', mbConfirmation, MB_YESNO) = idNO then
- begin
- Result :=false; //安装程序退出
- IsRunning :=0;
- endelsebegin
- Result :=true; //安装程序继续
- IsRunning:=FindWindowByWindowName('东方宽频网络电视');
- end;
- end;
- end;
- procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
- begin
- case CurUninstallStep of
- usUninstall:
- begin// 开始卸载
- end;
- usPostUninstall:
- begin// 卸载完成
- // MsgBox('CurUninstallStepChanged:' #13#13 'Uninstall just finished.', mbInformation, MB_OK);
- // ...insert code to perform post-uninstall tasks here...
- ShellExec('open', 'http://www.dreams8.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
- end;
- end;
- end;
[code] var ErrorCode: Integer; IsRunning: Integer; // 安装时判断客户端是否正在运行 function InitializeSetup(): Boolean; begin Result :=true; //安装程序继续 IsRunning:=FindWindowByWindowName('东方宽频网络电视'); while IsRunning0 do begin if Msgbox('安装程序检测到客户端正在运行。' #13#13 '您必须先关闭它然后单击“是”继续安装,或按“否”退出!', mbConfirmation, MB_YESNO) = idNO then begin Result :=false; //安装程序退出 IsRunning :=0; end else begin Result :=true; //安装程序继续 IsRunning:=FindWindowByWindowName('东方宽频网络电视'); end; end; end; // 卸载时判断客户端是否正在运行 function InitializeUninstall(): Boolean; begin Result :=true; //安装程序继续 IsRunning:=FindWindowByWindowName('东方宽频网络电视'); while IsRunning0 do begin if Msgbox('安装程序检测到客户端正在运行。' #13#13 '您必须先关闭它然后单击“是”继续安装,或按“否”退出!', mbConfirmation, MB_YESNO) = idNO then begin Result :=false; //安装程序退出 IsRunning :=0; end else begin Result :=true; //安装程序继续 IsRunning:=FindWindowByWindowName('东方宽频网络电视'); end; end; end; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin case CurUninstallStep of usUninstall: begin // 开始卸载 end; usPostUninstall: begin // 卸载完成 // MsgBox('CurUninstallStepChanged:' #13#13 'Uninstall just finished.', mbInformation, MB_OK); // ...insert code to perform post-uninstall tasks here... ShellExec('open', 'http://www.dreams8.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode); end; end; end;
13、 删除文件和删除文件夹
[delphi] view plaincopyprint?
- //删除文件 用 DeleteFile 只能删除一个文件,不能使用通配符来删除多个文件
- DeleteFile(ExpandConstant('{app}\abc.exe'));
- //删除所有文件及文件夹
- DelTree(ExpandConstant('{app}'), True, True, False);
//删除文件 用 DeleteFile 只能删除一个文件,不能使用通配符来删除多个文件 DeleteFile(ExpandConstant('{app}\abc.exe')); //删除所有文件及文件夹 DelTree(ExpandConstant('{app}'), True, True, False);
14、BorderStyle
TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow, bsSizeToolWin);
无边界式(bsNone) ,单边固定式(bsSingle),双边可变式(bsSizeable),对话框式(bsDialog)
15、if else
[delphi] view plaincopyprint?
- function NextButtonClick(CurPageID: Integer): Boolean;
- var
- ResultCode: Integer;
- begin
- Result := True;
- if (CurPageID = wpSelectDir) then
- begin
- MsgBox('AAAA', mbInformation, MB_OK);
- end
- else
- begin
- MsgBox('BBBB', mbInformation, MB_OK);
- end;
- end;
function NextButtonClick(CurPageID: Integer): Boolean; var ResultCode: Integer; begin Result := True; if (CurPageID = wpSelectDir) then begin MsgBox('AAAA', mbInformation, MB_OK); end else begin MsgBox('BBBB', mbInformation, MB_OK); end; end;
16、安装结束界面增加“设为首页”选项
[delphi] view plaincopyprint?
- [Tasks]
- Name: changestartpage; Description: "设置vistaqq为默认主页"
- [Registry]
- Root: HKCU; Subkey: "Software\Microsoft\Internet Explorer\Main"; ValueType: string; ValueName: "Start Page"; ValueData: "http://www.vistaqq.com"; tasks: changestartpage
[Tasks] Name: changestartpage; Description: "设置vistaqq为默认主页" [Registry] Root: HKCU; Subkey: "Software\Microsoft\Internet Explorer\Main"; ValueType: string; ValueName: "Start Page"; ValueData: "http://www.vistaqq.com"; tasks: changestartpage
17、添加“关于”和网站链接按钮
[delphi] view plaincopyprint?
- [Code]
- procedure URLLabelOnClick(Sender: TObject);
- var
- ErrorCode: Integer;
- begin
- ShellExec('open', 'http://www.vistaqq.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
- end;
- procedure AboutButtonOnClick(Sender: TObject);
- begin
- MsgBox(#13'Vista 状态条风格盘符' #13 #13'本软件由jinn制作,希望各位登陆中天VIP工作室!' #13#13, mbInformation, MB_OK);
- end;
- var
- AboutButton, CancelButton: TButton;
- URLLabel: TNewStaticText;
- procedure InitializeWizard();
- begin
- { Create the pages }
- WizardForm.PAGENAMELABEL.Font.Color:= clred;
- WizardForm.PAGEDESCRIPTIONLABEL.Font.Color:= clBlue;
- WizardForm.WELCOMELABEL1.Font.Color:= clGreen;
- WizardForm.WELCOMELABEL2.Font.Color:= clblack;
- CancelButton := WizardForm.CancelButton;
- AboutButton := TButton.Create(WizardForm);
- AboutButton.Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width;
- AboutButton.Top := CancelButton.Top;
- AboutButton.Width := CancelButton.Width;
- AboutButton.Height := CancelButton.Height;
- AboutButton.Caption := '&About';
- AboutButton.OnClick := @AboutButtonOnClick;
- AboutButton.Parent := WizardForm;
- URLLabel := TNewStaticText.Create(WizardForm);
- URLLabel.Caption := '中天VIP工作室';
- URLLabel.Cursor := crHand;
- URLLabel.OnClick := @URLLabelOnClick;
- URLLabel.Parent := WizardForm;
- { Alter Font *after* setting Parent so the correct defaults are inherited first }
- URLLabel.Font.Style := URLLabel.Font.Style + [fsUnderline];
- URLLabel.Font.Color := clBlue;
- URLLabel.Top := AboutButton.Top + AboutButton.Height - URLLabel.Height - 2;
- URLLabel.Left := AboutButton.Left + AboutButton.Width + ScaleX(20);
- end;
18、去掉安装程序左上角“关于安装程序”的代码
[delphi] view plaincopyprint?
- procedure InitializeWizard();
- begin
- WizardForm.BorderIcons:= [biMinimize];
- end;
- procedure CurPageChanged(CurPage: Integer);
- begin
- if CurPage=wpWelcome then
- WizardForm.BorderIcons:= [biSystemMenu, biMinimize];
- end;
- 或者
- procedure InitializeWizard();
- begin
- WizardForm.BORDERICONS := [biHelp, biSystemMenu, biMinimize];
- end;
procedure InitializeWizard(); begin WizardForm.BorderIcons:= [biMinimize]; end; procedure CurPageChanged(CurPage: Integer); begin if CurPage=wpWelcome then WizardForm.BorderIcons:= [biSystemMenu, biMinimize]; end; 或者 procedure InitializeWizard(); begin WizardForm.BORDERICONS := [biHelp, biSystemMenu, biMinimize]; end;
19、自定义BeveledLabel文字
[Messages]
BeveledLabel=中天VIP工作室
20、自定义安装程序界面左上角“安装”文字
[message]
SetupAppTitle=需要的字
SetupWindowTitle=需要的字
21、自定义安装程序版本号
VersionInfoVersion=1.1
VersionInfoTextVersion=1.1

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



1. First open DingTalk. 2. Open the group chat and click the three dots in the upper right corner. 3. Find my nickname in this group. 4. Click to enter to modify and save.

Douyin Blue V certification is the official certification of a company or brand on the Douyin platform, which helps enhance brand image and credibility. With the adjustment of corporate development strategy or the update of brand image, the company may want to change the name of Douyin Blue V certification. So, can Douyin Blue V change its name? The answer is yes. This article will introduce in detail the steps to modify the name of the enterprise Douyin Blue V account. 1. Can Douyin Blue V change its name? You can change the name of Douyin Blue V account. According to Douyin’s official regulations, corporate Blue V certified accounts can apply to change their account names after meeting certain conditions. Generally speaking, enterprises need to provide relevant supporting materials, such as business licenses, organization code certificates, etc., to prove the legality and necessity of changing the name. 2. What are the steps to modify the name of corporate Douyin Blue V account?

Win11 Tips Sharing: One trick to skip Microsoft account login Windows 11 is the latest operating system launched by Microsoft, with a new design style and many practical functions. However, for some users, having to log in to their Microsoft account every time they boot up the system can be a bit annoying. If you are one of them, you might as well try the following tips, which will allow you to skip logging in with a Microsoft account and enter the desktop interface directly. First, we need to create a local account in the system to log in instead of a Microsoft account. The advantage of doing this is

In C language, it represents a pointer, which stores the address of other variables; & represents the address operator, which returns the memory address of a variable. Tips for using pointers include defining pointers, dereferencing pointers, and ensuring that pointers point to valid addresses; tips for using address operators & include obtaining variable addresses, and returning the address of the first element of the array when obtaining the address of an array element. A practical example demonstrating the use of pointer and address operators to reverse a string.

We often create and edit tables in excel, but as a novice who has just come into contact with the software, how to use excel to create tables is not as easy as it is for us. Below, we will conduct some drills on some steps of table creation that novices, that is, beginners, need to master. We hope it will be helpful to those in need. A sample form for beginners is shown below: Let’s see how to complete it! 1. There are two methods to create a new excel document. You can right-click the mouse on a blank location on the [Desktop] - [New] - [xls] file. You can also [Start]-[All Programs]-[Microsoft Office]-[Microsoft Excel 20**] 2. Double-click our new ex

When publishing products on the Xianyu platform, users can customize the geographical location information of the product according to the actual situation, so that potential buyers can more accurately grasp the specific location of the product. Once the product is successfully put on the shelves, there is no need to worry if the seller's location changes. The Xianyu platform provides a flexible and convenient modification function. So when we want to modify the address of a published product, how do we modify it? This tutorial guide will provide you with a detailed step-by-step guide. I hope it can help. Everyone! How to modify the release product address in Xianyu? 1. Open Xianyu, click on what I published, select the product, and click Edit. 2. Click the positioning icon and select the address you want to set.

VSCode (Visual Studio Code) is an open source code editor developed by Microsoft. It has powerful functions and rich plug-in support, making it one of the preferred tools for developers. This article will provide an introductory guide for beginners to help them quickly master the skills of using VSCode. In this article, we will introduce how to install VSCode, basic editing operations, shortcut keys, plug-in installation, etc., and provide readers with specific code examples. 1. Install VSCode first, we need

Win11 tricks revealed: How to bypass Microsoft account login Recently, Microsoft launched a new operating system Windows11, which has attracted widespread attention. Compared with previous versions, Windows 11 has made many new adjustments in terms of interface design and functional improvements, but it has also caused some controversy. The most eye-catching point is that it forces users to log in to the system with a Microsoft account. For some users, they may be more accustomed to logging in with a local account and are unwilling to bind their personal information to a Microsoft account.
