The idea is just to show a user that something is going on and no need to worry. And I wanted to keep the standard NSIS page layout so banner plugins are not in my list yet. After this informational page the process should continue normally with the next page without any stops here.
Page custom nsDialogs_MakeBackup_Create
....
Function nsDialogs_MakeBackup_Create
nsDialogs::Create /NOUNLOAD 1018 ;1040
Pop $Dialog
StrCmp $Dialog error 0 +2
Abort
${NSD_CreateLabel} 10u 10u 100% 10u "Please, wait a minute while backup files are being compressed."
Pop $1
GetDlgItem $0 $HWNDPARENT 1 ; disable NEXT button
EnableWindow $0 0
GetDlgItem $0 $HWNDPARENT 2 ; disable CANCEL button
EnableWindow $0 0
GetDlgItem $0 $HWNDPARENT 3 ; disable BACK button
EnableWindow $0 0
ShowWindow $Dialog ${SW_SHOW}
System::Call 'user32.dll::UpdateWindow(i $Dialog) i .r3'
;longish process here
Sleep 5000
${NSD_SetText} $1 "Compression has finished."
FunctionEnd
The problem is that if you click any of the disabled buttons they will be remembered when the next page appears. Which is not a good thing.
Are there any nifty system::calls that would take care of unwanted messages? (I'm not very good with system::calls yet as I haven't needed them much)
Thanks in advance.
cheers..