这里使用简单代码实现了,Inno对 系统工具箱的配置和安装,是起步的好材料

[Code]
var

AboutButton,CancelButton:TButton;
URLLabel: TNewStaticText;
BackgroundBitmapImage: TBitmapImage;
BackgroundBitmapText: TNewStaticText;
UserPage: TInputQueryWizardPage;
IniFile, OldString, NewString:string;
i,ResultCode: Integer;
IniFileLines: TArrayOfString;

function InitializeSetup(): boolean;
begin
  Result := true
  Exec(ExpandConstant('{sys}/attrib.exe'), '-r -s -h c:/boot.ini', ExpandConstant('{sys}'), SW_HIDE,
    ewnoWait, ResultCode)
  Result := MsgBox('安装须知:' #13#13 '如果您的系统为多系统,请在win2000,winXP,WIN2003下安装使用。', mbConfirmation, MB_YESNO) = idYes;
if inikeyExists('operating systems','c:/grldr','c:/boot.ini') then
  begin
Result := MsgBox('程序安装向导:' #13#13 '你已经安装过其他dos工具,选择<是>将升级为"XX备份恢复工具1.0"'#13#10'选择<否>保留现有dos工具箱并退出安装。' ,mbConfirmation, MB_YESNO) = idyes
  if Result = true then
  deltree (ExpandConstant('{sd}/boot'),true,true,true)
  if Result = False then
  MsgBox('程序安装向导:' #13#13 '您选择保留原有工具箱,现在将退出安装程序,再见。', mbInformation, MB_OK);
  end;
end;
procedure AboutButtonOnClick(Sender: TObject);
begin
MsgBox('本安装程序由“XXX”LQL制作' #13#13 '更多绿软请光临"XXX"', mbInformation, mb_Ok);
end;

procedure URLLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://WWW.XXXX.COM', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

procedure InitializeWizard();
begin
WizardForm.PAGENAMELABEL.Font.Color:= clRed;
WizardForm.PAGEDESCRIPTIONLABEL.Font.Color:= clBlue;
WizardForm.WELCOMELABEL1.Font.Color:= clpurple;
WizardForm.WELCOMELABEL2.Font.Color:= clolive;
WizardForm.PASSWORDLABEL.TabOrder := 0;
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 := '关于(A)...';
AboutButton.OnClick := @AboutButtonOnClick;
AboutButton.Parent := WizardForm;

URLLabel := TNewStaticText.Create(WizardForm);
URLLabel.Caption := 'XXXX 精简软件';
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);

BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Left := 50;
BackgroundBitmapImage.Top := 100;
BackgroundBitmapImage.AutoSize := True;
BackgroundBitmapImage.Bitmap := WizardForm.WizardBitmapImage.Bitmap;
BackgroundBitmapImage.Parent := MainForm;

BackgroundBitmapText :=  TNewStaticText.Create(MainForm);
BackgroundBitmapText.Left := BackgroundBitmapImage.Left;
BackgroundBitmapText.Top := BackgroundBitmapImage.Top + BackgroundBitmapImage.Height +  ScaleY(8);
BackgroundBitmapText.Caption := 'TBitmapImage';
BackgroundBitmapText.Parent := MainForm;
UserPage := CreateInputQueryPage(wppassword,
'个性启动设置', '请输入您设置的WINDOWS 启动菜单停留时间和XXXX备份恢复工具启动密码',
'在这里设置WINDOWS 启动菜单停留时间和51LITE 备份恢复启动密码。请自己牢记!!!!');
UserPage.Add('XXXX 工具箱启动密码(默认为空):', False);
UserPage.Add('windows 启动菜单停留时间(默认为8秒钟):', False);
UserPage.Values[0] := ''
UserPage.Values[1] := '8'

end;

procedure CurStepChanged(CurStep: TSetupStep);
begin

if CurStep = ssdone then
begin
   SetIniString('boot loader', 'timeout', UserPage.Values[1], 'c:/boot.ini');
   IniFile:='C:/boot/grub/menu.lst';
   begin
   OldString:='password ';
   NewString:= 'password '+UserPage.Values[0];
   LoadStringsFromFile(IniFile, IniFileLines);
   for i:= 0 to GetArrayLength(IniFileLines)-1 do
   if (Pos(OldString, IniFileLines) > 0) then
   StringChange(IniFileLines, OldString, NewString);
   SaveStringsToFile(IniFile, IniFileLines, False);
  end;
end;
end;
procedure DeinitializeSetup();

begin
Exec(ExpandConstant('{sys}/attrib.exe'), ' +s +h c:/boot.ini', ExpandConstant('{sys}'), SW_HIDE,
ewWaitUntilIdle, ResultCode)
  end;
function InitializeUninstall():boolean;
  begin
  Result := true
  Exec(ExpandConstant('{sys}/attrib.exe'), '-r -s -h c:/boot.ini', ExpandConstant('{sys}'),  SW_HIDE,
ewnoWait, ResultCode)

end;

procedure DeInitializeUninstall();

begin
  Exec(ExpandConstant('{sys}/attrib.exe'), ' +s +h c:/boot.ini', ExpandConstant('{sys}'), SW_HIDE,
  ewWaitUntilIdle, ResultCode)
end;

顺便附上一个相关小工具代码:

[Setup]
AppName=Boot V 1.5
AppVerName=Boot 1.5
DefaultDirName={tmp}
OutputBaseFilename=Boot
Uninstallable=no
DisableDirPage =yes
DisableProgramGroupPage=true
DisableReadyPage =yes
DisableFinishedPage =yes

[Messages]
SetupWindowTitle=Boot修改
ButtonCancel=退出
ButtonNext=修改
ExitSetupTitle=退出修改!
ExitSetupMessage=修改未完成 %n%n 点击“是”退出修改,点击“否”继续修改!

[INI]
Filename: {sd}/boot.ini; Section: boot loader; Key: timeout; String: {code:GetYourTimeOut}
Filename: {sd}/boot.ini; Section: operating systems; Key: {sd}/grldr; String: {code:GetYourName}; Flags: createkeyifdoesntexist uninsdeleteentry
[Code]
procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpWelcome then
    WizardForm.NextButton.OnClick(WizardForm)
    WizardForm.BorderIcons:= [biSystemMenu, biMinimize];
  if CurPageID = wpInstalling then
    WizardForm.Hide
  WizardForm.BackButton.Visible:= false;
end;
var
Page: TInputQueryWizardPage;
ValueYouEntered0: string;
ValueYouEntered1: string;
function GetYourTimeOut(Param: string): string;
begin
result:= ValueYouEntered0;
end;
function GetYourName(Param: string): string;
begin
result:= ValueYouEntered1;
MsgBox('修改成功!', mbInformation, MB_OK);
end;
procedure InitializeWizard();
var iCode: Integer;
begin
Exec('attrib.exe', '-r -h -s '+ExpandConstant('{sd}/boot.ini'), '', SW_HIDE, ewWaitUntilTerminated, iCode);
Page := CreateInputQueryPage(wpLicense, '系统启动菜单设置', '设置你的启动菜单', '请设置你的启动菜单,然后单击“修改”。');
Page.Add('操作系统列表等待时间(显示的为当前等待时间):', false);
Page.Add('操作系统列表启动项名称(显示的为当前PE启动项名称):', false);
if IniKeyExists('boot loader', 'timeout', ExpandConstant('{sd}/boot.ini')) then
Page.Values[0]:= GetIniString('boot loader', 'timeout', '', ExpandConstant('{sd}/boot.ini'));
if IniKeyExists('operating systems', ExpandConstant('{sd}/grldr'), ExpandConstant('{sd}/boot.ini')) then
Page.Values[1]:= GetIniString('operating systems',ExpandConstant('{sd}/grldr'), '', ExpandConstant('{sd}/boot.ini'));
end;
function NextButtonClick(CurPageID: Integer): Boolean;
begin
result:= true;
if CurPageID = Page.ID then
begin
  if (StrToIntDef(Page.Values[0],-1)<1) or (StrToIntDef(Page.Values[0],-1)>60) then
    begin
     MsgBox('请输入一个 1 与 60 之间的整数!', mbInformation, MB_OK);
     result:= false;
    end
  if Length(Page.Values[1])<1 then
    begin
     MsgBox('请输入启动项名称!', mbInformation, MB_OK);
     result:= false;
    end
else
ValueYouEntered0:= Page.Values[0];
ValueYouEntered1:= Page.Values[1];
end;
end;
procedure DeinitializeSetup();
var iCode: Integer;
begin
Exec('attrib.exe', '+r +h +s '+ExpandConstant('{sd}/boot.ini'), '', SW_HIDE, ewWaitUntilTerminated, iCode);
end;

input:focus,select:focus,textarea:focus{outline: #E2B635 3px solid;}

[Inno]制作类似矮人工具箱的程序/设置系统启动时间工具相关推荐

  1. android系统应用程序设置时间,Android应用程序设置系统时间的方法

    Android应用程序获取系统时间的方法: System.currentTimeMillis(); Android SDK虽然提供了设置系统时间的方法SystemClock.setCurrentTim ...

  2. 【3D游戏建模全流程教学】在 ZBrush、Maya 和 Arnold 中制作雪矮人

    矮人计划 我开始的大多数项目都是用于练习的速度造型.他们中的大多数都是这样结束的,作为 ZBrush 中的快速雕刻.通过这样做,我练习如何快速锁定主要和次要表单.这些是可信角色的关键要素.如果您想进一 ...

  3. 嵌入式linux通过程序设置系统时间,嵌入式新手如何设定Linux的时间函数

    一.时间相关说明 格林威治时间表示0时区的标准时间.其他时区的时间和此标准时间均有时间差.UTC(UniversalTime Coordinated)是世界协调时间,是格林威治时间在互联网中的表示方法 ...

  4. 矮人DOS工具箱 使用说明

    矮人DOS工具箱 使用说明 特点: 为2k以上系统加上纯DOS支持的启动菜单,方便没有光软驱的朋友!!!!可根据需要在 矮人DOS工具盘,和 ghos 8.2 向导盘上,加上启动密码!防止其它人滥用! ...

  5. 矮人dos工具箱 5.3 build 6.713 下载

    软件介绍: 木马程序 trojan.rar.qfavorites.a 文件: c:\documents and settings\administrator\桌面\新建文件夹\矮人dos工具箱5.3. ...

  6. 矮人DOS工具箱4.2安装及使用图解(ppt)

    一.XP系统装好后,为了防止意外情况发生,需要每隔一个月备份一次系统,备份系统可以使用 GHOST备份系统或矮人DOS工具箱.目的都是将分区制作为镜像文件.可以在系统崩溃后还原,这样又能恢复到制作镜像 ...

  7. 系统备份 矮人dos工具箱

    http://www.51ct.cn/downinfo/140.html 软件简介: 1.安装过程,修改为非常简单,一共出现两个界面,这样做有可能会修正,安装到注册字体那里,不进行的情况--这个有待大 ...

  8. 矮人DOS工具箱 4.2:把DOS/Ghost/分区专家集成至启动菜单

    [掸子按] 今天用番茄花园的Ghost安装光盘备份c盘,之后就想找一个里面带有Ghost8.2的工具光盘,结果找到了这个.感觉还不错,尤其是它的启动选项可以直接进入doc和Ghost操作,对菜鸟和懒人 ...

  9. 矮人DOS工具箱官方版

    2019独角兽企业重金招聘Python工程师标准>>> 详细介绍 矮人DOS工具箱是为Windows 2000以上系统加上纯DOS启动支持的工具! 主要特点有: 为Windows 2 ...

最新文章

  1. csdn修改博客皮肤
  2. HTML5纯Web前端也能开发直播,不用开发服务器(使用face2face)
  3. 移动端常用的四个框架
  4. 手机壁纸自动采集小程序源码
  5. Spark Yarn Client模式双网卡-多hostname导致问题(阿里云)
  6. 【深度优先搜索】计蒜客:等边三角形
  7. 测试网站集群节点的页面访问是否正常
  8. oracle fileperset,RMAN具体使用方法
  9. matlab中频谱的实现,如何在MATLAB中实现频谱核函数?
  10. 【读书笔记《Android游戏编程之从零开始》】19.游戏开发基础(游戏音乐与音效)
  11. 51单片机外设篇:DS18B20
  12. js中的symbol详解
  13. PPT常用快捷键汇总
  14. DOM对象之事件对象(Object《Event》)
  15. 计算机开机启动过程详解
  16. 来广州找工作有一个多月了,今天终于有着落了,工资7000
  17. 阿里巴巴普惠_河北省辛集市与阿里巴巴举行数字乡村合作项目签约仪式
  18. 计算机组成原理-笔记
  19. Science | 化学合成自动智能化--ChemPU中化学合成文献数据库的数字化和验证
  20. 2021活动会议管理系统排行榜

热门文章

  1. AM335X开发板产品板IAC-335X-Kit
  2. 数字音乐的服务者,腾讯音乐Q2依然很稳
  3. 浅谈存储重删压缩技术(一)
  4. ant deign分页问题 删除列表最后一项自动跳转到上一页
  5. 疫情期间怎么在家里创业?推荐一个平台
  6. ceph 查找 rbd image 存储位置
  7. 数据中心机房人员定位系统
  8. pycharm的py文件抬头文件头模板
  9. 面向新手的git实战教程
  10. nohup: ignoring input and appending output to 'nohup.out'