Запускайте файлы и программы в соответствии с пользовательскими флажками после нажатия кнопки «Готово» в Inno Setup. - PullRequest
1 голос
/ 05 марта 2019

Я создал несколько пользовательских флажков на готовой странице Inno Setup.Например, запуск приложения, открытие текстового файла и т. Д.

Мне нужно, когда пользователь нажимает кнопку Готово, я проверяю эти флажки и делаю все, что нужно.Как я могу сделать это в Inno Setup?

Вот код:

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpFinished then
  begin
       Launch := TNewCheckBox.Create(WizardForm);
       Launch.Parent := WizardForm;
       Launch.Left := WizardForm.ClientWidth - 350;
       Launch.Top := WizardForm.CancelButton.Top;
       Launch.Width := 120;
       Launch.Height := WizardForm.CancelButton.Height;
       Launch.Caption := 'Launch';
  end;
end;

enter image description here

Ответы [ 2 ]

1 голос
/ 06 марта 2019

Просто проверьте состояние флажка:

if (Launch.Checked = True) then
begin
// checkbox is checked
end
else
begin
// Checkbox is unchecked
end;

Лучше всего использовать функцию NextButtonClick (CurPageID: Integer): Boolean; , однако в этом случае вам необходимо установить флажокглобальная переменная (поэтому она доступна).

1 голос
/ 06 марта 2019

В NextButtonClick обработчик событий , проверьте, установлен ли ваш флажок, и действуйте соответствующим образом.

function NextButtonClick(CurPageID: Integer): Boolean;
var
  ResultCode: Integer;
begin
  if CurPageID = wpFinished then
  begin
    if Launch.Checked then
    begin
      if ExecAsOriginalUser(
           ExpandConstant('{app}\MyProg.exe'), '', '', SW_SHOW, ewNoWait, ResultCode) then
      begin
        Log('Executed MyProg');
      end
        else
      begin
        MsgBox('Error executing MyProg - ' + SysErrorMessage(ResultCode), mbError, MB_OK);
      end;
    end;
  end;
  Result := True;
end;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...