!include LogicLib.nsh !include nsDialogs.nsh Name "nsDialogs Timer Example" OutFile "nsDialogs Timer Example.exe" XPStyle on Var DIALOG Var TEXT Var PROGBAR Var PROGBAR2 Var PROGBAR3 Var BUTTON Var BUTTON2 Page custom nsDialogsPage Function OnTimer SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1 ${If} $1 = 100 SendMessage $PROGBAR ${PBM_SETPOS} 0 0 ${Else} SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0 ${EndIf} FunctionEnd Function OnTimer2 SendMessage $PROGBAR2 ${PBM_GETPOS} 0 0 $1 ${If} $1 = 100 SendMessage $PROGBAR2 ${PBM_SETPOS} 0 0 ${Else} SendMessage $PROGBAR2 ${PBM_DELTAPOS} 5 0 ${EndIf} FunctionEnd Function OnTimer3 SendMessage $PROGBAR3 ${PBM_GETPOS} 0 0 $1 ${If} $1 >= 100 ${NSD_KillTimer} OnTimer3 MessageBox MB_OK "Timer 3 killed" ${Else} SendMessage $PROGBAR3 ${PBM_DELTAPOS} 2 0 ${EndIf} FunctionEnd Function OnClick Pop $0 ${NSD_KillTimer} OnTimer FunctionEnd Function OnClick2 Pop $0 ${NSD_KillTimer} OnTimer2 FunctionEnd Function nsDialogsPage nsDialogs::Create 1018 Pop $DIALOG ${NSD_CreateLabel} 0u 0u 100% 9u "nsDialogs timer example" Pop $TEXT ${NSD_CreateProgressBar} 0u 10u 100% 12u "" Pop $PROGBAR ${NSD_CreateButton} 0u 25u 100u 14u "Kill Timer 1" Pop $BUTTON ${NSD_OnClick} $BUTTON OnClick ${NSD_CreateProgressBar} 0u 52u 100% 12u "" Pop $PROGBAR2 ${NSD_CreateButton} 0u 67u 100u 14u "Kill Timer 2" Pop $BUTTON2 ${NSD_OnClick} $BUTTON2 OnClick2 ${NSD_CreateProgressBar} 0u 114u 100% 12u "" Pop $PROGBAR3 ${NSD_CreateTimer} OnTimer 1000 ${NSD_CreateTimer} OnTimer2 100 ${NSD_CreateTimer} OnTimer3 200 nsDialogs::Show FunctionEnd Section SectionEnd