Declare Function GetCurrentThread& Lib "kernel32" () Declare Function GetCurrentProcess& Lib "kernel32" () Declare Function SetPriorityClass& Lib "kernel32" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) Declare Function SetThreadPriority& Lib "kernel32" (ByVal hThread As Long, ByVal nPriority As Long) Public Const THREAD_BASE_PRIORITY_IDLE = -15 Public Const THREAD_BASE_PRIORITY_LOWRT = 15 Public Const THREAD_BASE_PRIORITY_MAX = 2 Public Const THREAD_BASE_PRIORITY_MIN = -2 Public Const MAXLONG = &H7FFFFFFF Public Const THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX Public Const THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN Public Const THREAD_PRIORITY_ABOVE_NORMAL = (THREAD_PRIORITY_HIGHEST - 1) Public Const THREAD_PRIORITY_BELOW_NORMAL = (THREAD_PRIORITY_LOWEST + 1) Public Const THREAD_PRIORITY_ERROR_RETURN = (MAXLONG) Public Const THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE Public Const THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT Public Const HIGH_PRIORITY_CLASS = &H80 Public Const IDLE_PRIORITY_CLASS = &H40 Public Const NORMAL_PRIORITY_CLASS = &H20 Public Const REALTIME_PRIORITY_CLASS = &H100 'Here is the code for a command button: Private Sub Command1_Click() Dim cnt& Dim cp&, ct&, setpc&, settp& cp& = GetCurrentProcess&() ct& = GetCurrentThread&() setpc& = SetPriorityClass(cp&, REALTIME_PRIORITY_CLASS) settp& = SetThreadPriority(ct&, THREAD_PRIORITY_TIME_CRITICAL) Label2.Caption = cp& Label5.Caption = ct& For cnt& = 1 To 2500 Label6 = setpc& & settp& Label1.Caption = cnt& Label1.Refresh Next cnt& End Sub