|
Button Botva2 + link
#define Webs "www.google.it"
[Setup]
AppName=Test
AppVersion=Test
DefaultDirName=Test
OutputDir=.
[Files]
Source: botva2.dll; Flags: dontcopy
Source: CallbackCtrl.dll; Flags: dontcopy
Source: logo.png; Flags: dontcopy
[Code]
const
BtnClickEventID = 1;
type
TBtnEventProc = procedure (SK:HWND);
var
Btn:TButton;
SK,hLogoBtn:HWND;
function WrapBtnCallback(Callback: TBtnEventProc; ParamCount: Integer): Longword; external 'wrapcallbackaddr@{tmp}\CallbackCtrl.dll stdcall delayload';
function BtnCreate(hParent :HWND; Left, Top, Width, Height :integer; FileName :PAnsiChar; ShadowWidth :integer; IsCheckBtn :boolean) :HWND; external 'BtnCreate@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetEvent(SK :HWND; EventID :integer; Event :Longword); external 'BtnSetEvent@{tmp}\botva2.dll stdcall delayload';
procedure gdipShutdown; external 'gdipShutdown@{tmp}\botva2.dll stdcall delayload';
#ifdef Webs
procedure LogoBtnClick(hBtn:HWND);
var
ErrorCode: Integer;
begin
ShellExec('open', '{#Webs}', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end;
#endif
function InitializeSetup():boolean; begin
ExtractTemporaryFile('logo.png');
ExtractTemporaryFile('botva2.dll');
ExtractTemporaryFile('CallbackCtrl.dll');
Result:=True;
end;
procedure InitializeWizard(); begin
with WizardForm do begin
hLogoBtn:=BtnCreate(WizardForm.Handle,12,320,100,3 5,ExpandConstant('{tmp}\logo.png'),1,False);
BtnSetEvent(hLogoBtn,BtnClickEventID,WrapBtnCallba ck(@LogoBtnClick,1));
end;
end;
procedure DeinitializeSetup();
begin
gdipShutdown;
end;
|