Inno setup InnoSetup:需要通过在CreateInputQueryPage上添加测试按钮来添加验证URL

Inno setup InnoSetup:需要通过在CreateInputQueryPage上添加测试按钮来添加验证URL,inno-setup,Inno Setup,在CreateInputQueryPage上,用户将在该框中键入URL…现在我想在该文本框旁边有一个测试按钮,以便我可以ping并验证该URL…这可能吗?使用,您无法执行此操作 你可以,这将允许你这样做。 你也可以打电话,这样你也可以这样做 具体来说,您可以使用COM对象来执行此检查 您有几个选项来处理验证。下面的脚本演示了这两种方法。第一个是为了验证而创建一个按钮,第二个是钩住下一个按钮,让它在移动到下一页之前自动出现 [Setup] AppName='Test Script' AppVerN

在CreateInputQueryPage上,用户将在该框中键入URL…现在我想在该文本框旁边有一个测试按钮,以便我可以ping并验证该URL…这可能吗?

使用,您无法执行此操作

你可以,这将允许你这样做。 你也可以打电话,这样你也可以这样做

具体来说,您可以使用COM对象来执行此检查

您有几个选项来处理验证。下面的脚本演示了这两种方法。第一个是为了验证而创建一个按钮,第二个是钩住下一个按钮,让它在移动到下一页之前自动出现

[Setup]
AppName='Test Script'
AppVerName='Test Script'
DefaultDirName={pf}\test
[Code]

const
 InputQueryPageID = 100;  //Determined by watching in Debugger.

var
  Page : TInputQueryWizardPage;


procedure ClickEvent(Sender : TObject);
begin
   MsgBox('Could Validate Here',mbInformation,MB_OK);
end;

procedure InitializeWizard();
var
  Button : TButton; 
begin
  Page := CreateInputQueryPage(wpWelcome,
     'Add URL', 'Test2','Test3');
  Page.Add('URL:', False);
  Button := TButton.Create(Page);
  Button.Parent := Page.Surface;
  Button.Caption := 'Button Text';
  Button.Top := 100;
  Button.Left := 10;
  Button.OnClick := @ClickEvent;
end;

function NextButtonClick(CurrPageID: Integer) : Boolean;
begin
 case CurrPageID of
   InputQueryPageID   : begin
                 MsgBox('Could Validate Here',mbInformation,MB_OK);
                 result := true; // Results of EXE Validation
               end;
   else result := true;
 end;
end;
使用,您无法执行此操作

你可以,这将允许你这样做。 你也可以打电话,这样你也可以这样做

具体来说,您可以使用COM对象来执行此检查

您有几个选项来处理验证。下面的脚本演示了这两种方法。第一个是为了验证而创建一个按钮,第二个是钩住下一个按钮,让它在移动到下一页之前自动出现

[Setup]
AppName='Test Script'
AppVerName='Test Script'
DefaultDirName={pf}\test
[Code]

const
 InputQueryPageID = 100;  //Determined by watching in Debugger.

var
  Page : TInputQueryWizardPage;


procedure ClickEvent(Sender : TObject);
begin
   MsgBox('Could Validate Here',mbInformation,MB_OK);
end;

procedure InitializeWizard();
var
  Button : TButton; 
begin
  Page := CreateInputQueryPage(wpWelcome,
     'Add URL', 'Test2','Test3');
  Page.Add('URL:', False);
  Button := TButton.Create(Page);
  Button.Parent := Page.Surface;
  Button.Caption := 'Button Text';
  Button.Top := 100;
  Button.Left := 10;
  Button.OnClick := @ClickEvent;
end;

function NextButtonClick(CurrPageID: Integer) : Boolean;
begin
 case CurrPageID of
   InputQueryPageID   : begin
                 MsgBox('Could Validate Here',mbInformation,MB_OK);
                 result := true; // Results of EXE Validation
               end;
   else result := true;
 end;
end;

感谢您的回复,但我如何在CreateInputQueryPage上添加按钮?我计划调用External exe来验证URL。或者我不能在CreateInputQueryPage上添加btton,我必须使用。父项:=KeyPage给出类型不匹配错误。代码类似于“KeyPage:TInputQueryWizardPage;使用TButton.Create(KeyPage)do begin Left:=ALeft;顶部:=顶部;宽度:=(WizardForm.CancelButton.Width*3)/2;高度:=WizardForm.CancelButton.Height;标题:=一个选项;OnClick:=ANotifyEvent;父项:=KeyPage@chirag是需要将按钮设置为父级的KeyPage.Surface。更新答案以显示工作示例代码。很好,感谢您的回复。我会试试这个,非常确定它会起作用。谢谢你的回复,但是我如何在CreateInputQueryPage上添加一个按钮呢?我计划调用External exe来验证URL。或者我不能在CreateInputQueryPage上添加btton,我必须使用。父项:=KeyPage给出类型不匹配错误。代码类似于“KeyPage:TInputQueryWizardPage;使用TButton.Create(KeyPage)do begin Left:=ALeft;顶部:=顶部;宽度:=(WizardForm.CancelButton.Width*3)/2;高度:=WizardForm.CancelButton.Height;标题:=一个选项;OnClick:=ANotifyEvent;父项:=KeyPage@chirag是需要将按钮设置为父级的KeyPage.Surface。更新答案以显示工作示例代码。很好,感谢您的回复。我会试试这个,并且非常确定它会起作用。