TickCount
From NSIS Wiki
Jump to navigationJump to search
Author: Instructor (talk, contrib) |
The Function Description
____________________________________________________________________________ TickCount ____________________________________________________________________________ Thanks kike_velez (Based on his code) Get completion time of the some process. Syntax: ${TickCountStart} # ... code ... ${TickCountEnd} $var # $var=Elapsed time since start in milliseconds Note: ${TickCountStart} uses stack to save inicial time
Example1:
Section ${TickCountStart} MessageBox MB_OK "TickCount started" ${TickCountEnd} $0 MessageBox MB_OK "Message showed: $0 ms" SectionEnd
Example2:
Section ${TickCountStart} MessageBox MB_OK "TickCount started" ${TickCountEnd} $0 IntOp $1 $0 / 1000 IntOp $0 $0 % 1000 IntOp $2 $1 / 60 IntOp $1 $1 % 60 IntOp $3 $2 / 60 IntOp $2 $2 % 60 MessageBox MB_OK "Message showed: $3 hours $2 min $1 sec $0 ms" SectionEnd
The Function Code
Function TickCountStart !define TickCountStart `!insertmacro TickCountStartCall` !macro TickCountStartCall Call TickCountStart !macroend Push $0 System::Call 'kernel32::GetTickCount()i .r0' Exch $0 FunctionEnd Function TickCountEnd !define TickCountEnd `!insertmacro TickCountEndCall` !macro TickCountEndCall _RESULT Call TickCountEnd Pop ${_RESULT} !macroend Exch $0 Push $1 System::Call 'kernel32::GetTickCount()i .r1' System::Int64Op $1 - $0 Pop $0 Pop $1 Exch $0 FunctionEnd