Главная страницаОбратная связьКарта сайта

Как получить или установить приоритет процесса в 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;

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


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Как получить или установить приоритет процесса в Win9x или Me", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info