Private Shared Function GetTickCount() As UInteger
Gets the number of milliseconds elapsed since the system started.
Tips & Tricks:
// C# sample for a simple timer to pause before some other code.
// Just call pPause(delay) where delay is the number of milliseconds. e.g. pPause(1000) will pause for 1 second.
[ DllImport( "kernel32.dll" ) ]
public static extern long GetTickCount();
// Function to simply pause before returning to other code
private void pPause(long delay)
long entryTick = GetTickCount();
// Add code here to disable timers that affect other things in your application
// tmrTimer.Stop(); // For example...
while ( GetTickCount() < (entryTick + delay) )
// Optional - Sleep for a bit...
// Keep the application responsive... You may need to be careful with this and other events accidentally firing when they shouldn't.
// If you need, add in code to remove/add event handlers where the timer Stop and Start are.
// Add code here to perhaps update a counter to let the user know that they need to wait...
// Add code here to enable the timers again
// tmrTimer.Start(); // For example...
Alternative Managed API:
Do you know one? Please contribute it!
Note, the managed API is subtly different than the Win32 API call. The Win32 API call returns an unsigned int while the managed API returned a signed int. Also note that the MSDN documentation for System.Environment.TickCount() is not correct. This managed API rolls over to int.MinValue and not to 0 after 24.9 days.