[Setup] AppName=My Program AppVerName=My Program version 1.5 DefaultDirName={pf}\My Program DisableProgramGroupPage=yes InfoBeforeFile=Readme.txt [Files] Source: "MyProg.exe"; DestDir: "{app}" [Code] var PrintButton: TButton; procedure PrintButtonClick(Sender: TObject); var WordpadLoc: String; RetCode: Integer; begin if MsgBox( 'Do you want to print Info to default printer ?', mbConfirmation, MB_YESNO ) = IDYES then begin RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WORDPAD.EXE', '', WordpadLoc); StringChange( WordpadLoc, '%ProgramFiles%', ExpandConstant('{pf}') ); StringChange( WordpadLoc, '"', ''); ExtractTemporaryFile('Readme.txt'); if not Exec( WordPadLoc, ' /p ' + ExpandConstant('{tmp}\Readme.txt') , ExpandConstant('{tmp}'), SW_HIDE, false, RetCode ) then MsgBox('Problems printing Info file !' + IntToStr(RetCode), mbError, mb_Ok) else MsgBox('Problems extracting Info file !', mbError, mb_Ok); end; end; procedure CurPageChanged(CurPage: Integer); begin if CurPage = wpInfoBefore then PrintButton.Visible := True else PrintButton.Visible := False; end; procedure InitializeWizard(); begin PrintButton := TButton.Create(WizardForm); PrintButton.Caption := '&Print Info'; PrintButton.Top := WizardForm.BackButton.Top; PrintButton.Left := WizardForm.BackButton.Left - WizardForm.BackButton.Width - ScaleX(40); PrintButton.OnClick := @PrintButtonClick; PrintButton.Parent := WizardForm; PrintButton.Visible := False; end; |