Difference between revisions of "SetPriorityClass"

From Lazarus wiki
(SetPriorityClass - a function that sets the priority class for a specified process.)
m (Text replace - "delphi>" to "syntaxhighlight>")
Line 16: Line 16:
 
EXAMPLE:
 
EXAMPLE:
  
<delphi>
+
<syntaxhighlight>
 
uses Windows; // Unit containing the SetPriorityClass function.
 
uses Windows; // Unit containing the SetPriorityClass function.
  
Line 25: Line 25:
 
end;  
 
end;  
  
</delphi>
+
</syntaxhighlight>

Revision as of 15:57, 24 March 2012

SetPriorityClass - a function that sets the priority class for a specified process. This function is specific to Windows.


The SetPriorityClass may have one of the following priority classes:

  • HIGH_PRIORITY_CLASS <= High performs tasks immediately.
  • IDLE_PRIORITY_CLASS <= Idle performs tasks when the system is idle.
  • NORMAL_PRIORITY_CLASS <= Normal performs tasks at regular speed.
  • REALTIME_PRIORITY_CLASS <= Real Time performs tasks immediately and above all other tasks, including operating system tasks.

Use caution when using REALTIME_PRIORITY_CLASS. It can potentially take so much of the CPU resources that there may not be anything left for other items to run, including operating system requests.


EXAMPLE:

uses Windows; // Unit containing the SetPriorityClass function.

procedure TForm1.FormCreate(Sender: TObject);
begin
     SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS);
     // Sets the current running application to High Priority.
end;