Как получить или установить приоритет процесса в Win9x или Me




const
ppIdle : Integer = -1;
ppNormal : Integer = 0;
ppHigh : Integer = 1;
ppRealTime : Integer = 2;
function SetProcessPriority( Priority : Integer ) : Integer;
var
H : THandle;
begin
Result := ppNormal;
H := GetCurrentProcess();
if ( Priority = ppIdle ) then
SetPriorityClass( H, IDLE_PRIORITY_CLASS )
else
if ( Priority = ppNormal ) then
SetPriorityClass( H, NORMAL_PRIORITY_CLASS )
else
if ( Priority = ppHigh ) then
SetPriorityClass( H, HIGH_PRIORITY_CLASS )
else
if ( Priority = ppRealTime ) then
SetPriorityClass( H, REALTIME_PRIORITY_CLASS );
case GetPriorityClass( H ) of
IDLE_PRIORITY_CLASS : Result := ppIdle;
NORMAL_PRIORITY_CLASS : Result := ppNormal;
HIGH_PRIORITY_CLASS : Result := ppHigh;
REALTIME_PRIORITY_CLASS : Result := ppRealTime;
end;
end;
function GetProcessPriority : Integer;
var
H : THandle;
begin
Result := ppNormal;
H := GetCurrentProcess();
case GetPriorityClass( H ) of
IDLE_PRIORITY_CLASS : Result := ppIdle;
NORMAL_PRIORITY_CLASS : Result := ppNormal;
HIGH_PRIORITY_CLASS : Result := ppHigh;
REALTIME_PRIORITY_CLASS : Result := ppRealTime;
end;
end;

Как использовать:


function SetProcessPriority( Priority : Integer ) : Integer;

для установки приоритета Вашего приложения, либо:


function GetProcessPriority : Integer;

для получения приоритета.


Далее: Как получить список всех запущенных процессов »»