[Setup] AppName=My Program AppVerName=My Program v.1.2 DefaultDirName={pf}\My Program [Files] Source: callnsis.dll; Flags: dontcopy [Code] var Button: TButton; Skins: TArrayOfString; i: integer; procedure callplug(parentwnd: Integer; pluginname,funcname,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10: PChar); external 'callplug@files:callnsis.dll stdcall setuponly'; procedure ButtonOnClick(Sender: TObject); begin if i = 7 then i:= 0 else i:= i+1; callplug(0, ExpandConstant('{src}\skin\NSIS_SkinCrafter_Plugin.dll'), 'skin', ExpandConstant('{src}\skin\' + Skins[i]), '','','','','','','','',''); //MsgBox(Skins[i], mbInformation, MB_OK); end; procedure InitializeWizard(); begin Skins := ['SkinNsis.skf', 'Skinastic.skf', 'BlueZZ.skf', 'Ultraviolet.skf', 'Ultraviolet_ST.skf', 'vista_style.skf', 'Eclipse.skf', 'Aquamarine.skf']; Button := TButton.Create(WizardForm); Button.Left := 10; Button.Top := WizardForm.CancelButton.Top; Button.Width := WizardForm.CancelButton.Width; Button.Height := WizardForm.CancelButton.Height; Button.Caption := 'Skin'; Button.OnClick := @ButtonOnClick; Button.Parent := WizardForm; WizardForm.Position:=poDesktopCenter WizardForm.Height:=WizardForm.Height-40 callplug(0, ExpandConstant('{src}\skin\NSIS_SkinCrafter_Plugin.dll'), 'skin', ExpandConstant('{src}\skin\' + Skins[0]), '','','','','','','','',''); end; |