TickCount: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 30: Line 30:




Example:
<b>Example:</b>
<highlight-nsis>
<highlight-nsis>
Section
Section

Revision as of 15:11, 4 July 2005

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} use stack to save inicial time


Example:

Section
	${TickCountStart}
	MessageBox MB_OK "TickCount started"
 
	${TickCountEnd} $0
	MessageBox MB_OK "Message showed: $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