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

时间:2011-05-24 20:48:43

标签: inno-setup

我有CreateInputQueryPage,在该框中,用户将键入URL ...现在我想在该文本框旁边有“测试”按钮,这样我就可以ping并验证该URL ...这可能吗?

1 个答案:

答案 0 :(得分:0)

使用Standard Support Functions,您无法执行此操作。

你可以call an external dll,这可以让你这样做。 您也可以拨打COM interfaces,这也可以让您这样做。

具体来说,您可以使用WinHTTPRequest 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;