Archive: Update Banner with progress/text


Update Banner with progress/text
I've search around but can't find a solutions, so here goes.

I want to be able to use Banner::Show (or similar) in the -Post of my installer to wait for the Exec of the app to load, here's what I have so far, thanks. (I added InitPluginsDir & ReserveFile based on similar forum postings).

I just basically want ".", then "..", the "..." to fill the Banner text area while it waits for FindWindow, etc.


BringToFront
StrCpy $statusThrobber "."

InitPluginsDir

ReserveFile "${NSISDIR}\Plugins\Banner.dll"

Exec "${MUI_FINISHPAGE_RUN}"

Banner::show /NOUNLOAD /set 76 "Launching..." ""

Banner::getWindow /NOUNLOAD
Pop $1

GetDlgItem $2 $1 1030

loop:
SendMessage $2 ${WM_SETTEXT} 0 "STR:$statusThrobber"

StrCpy $statusThrobber "$statusThrobber."
BringToFront

FindWindow $0 "MozillaUIWindowClass" "${PRODUCT_NAME}"

IntCmp $0 0 done
Sleep 500
Goto loop
done:

# I don't think FindWindow waits for window to be draw
# just for window to be available so I added this padding
# of 5 seconds.
Sleep 5000

Banner::destroy

ok, was blinded by stress, IntCmp wasn't setup right :)

loop:
SendMessage $2 ${WM_SETTEXT} 0 "STR:$statusThrobber"

StrCpy $statusThrobber "$statusThrobber."
BringToFront

FindWindow $0 "MozillaUIWindowClass" "${PRODUCT_NAME}"

Sleep 500

IntCmp $0 0 loop

Banner::destroy

Or with LogicLib:

${Do}
SendMessage $2 ${WM_SETTEXT} 0 "STR:$statusThrobber"
StrCpy $statusThrobber "$statusThrobber."
BringToFront
FindWindow $0 "MozillaUIWindowClass" "${PRODUCT_NAME}"
Sleep 500
${LoopWhile} $0 = 0

yeah I'm such an old school playa and keep forgetting about LogicLib thanks.


ok, follow question the SendMessage I have now sets the secondary status message, but what id do I use to update the main title without having to detroy and reshow.

my original call does:
Banner::show /NOUNLOAD /set 76 "Launching..." ""

now I want to update "Launching..." with a different title, tia.


Use Banner::getWindow, GetDlgItem and SendMessage.