釋放圖檔到臨時目錄:
[Files]
Source: "tmp\*"; DestDir: {tmp}; Flags: dontcopy solidbreak;
//釋放需要的臨時資源檔案
PROCEDURE extract_temp_files();
BEGIN
ExtractTemporaryFile('button_customize_setup.png');
ExtractTemporaryFile('button_uncustomize_setup.png');
ExtractTemporaryFile('button_finish.png');
ExtractTemporaryFile('button_setup_or_next.png');
ExtractTemporaryFile('background_welcome.png');
ExtractTemporaryFile('background_welcome_more.png');
ExtractTemporaryFile('button_browse.png');
ExtractTemporaryFile('progressbar_background.png');
ExtractTemporaryFile('progressbar_foreground.png');
ExtractTemporaryFile('button_license.png');
ExtractTemporaryFile('checkbox_license.png');
ExtractTemporaryFile('checkbox_setdefault.png');
ExtractTemporaryFile('background_installing.png');
ExtractTemporaryFile('background_finish.png');
ExtractTemporaryFile('button_close.png');
ExtractTemporaryFile('button_minimize.png');
ExtractTemporaryFile('background_messagebox.png');
ExtractTemporaryFile('button_cancel.png');
ExtractTemporaryFile('button_ok.png');
END;
//主界面關閉按鈕按下時執行的腳本
PROCEDURE button_close_on_click(hBtn : HWND);
BEGIN
WizardForm.CancelButton.OnClick(WizardForm);
END;
procedure InitializeWizard();//初始化安裝向導界面
begin
//釋放臨時資源檔案
extract_temp_files();
WizardForm.InnerNotebook.Hide();
WizardForm.OuterNotebook.Hide();
WizardForm.Bevel.Hide();
//初始界面為空白
WITH WizardForm DO
BEGIN
BorderStyle := bsNone;
Position := poDesktopCenter;
Width := WIZARDFORM_WIDTH_NORMAL;
Height := WIZARDFORM_HEIGHT_MORE;
Color := clWhite;
NextButton.Height := 0;
CancelButton.Height := 0;
BackButton.Visible := FALSE;
END;
ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\background_welcome.png'),0,0,650,450,false,true);
button_close := BtnCreate(WizardForm.Handle, 570, 0, 30, 30, ExpandConstant('{tmp}\button_close.png'), 0, FALSE);
BtnSetEvent(button_close, ID_BUTTON_ON_CLICK_EVENT, WrapBtnCallback(@button_close_on_click, 1));
ImgApplyChanges(WizardForm.Handle);
end;
//安裝程式銷毀時會調用這個函數
PROCEDURE DeinitializeSetup();
BEGIN
gdipShutdown();
WizardForm.Release();
END;