Показать сообщение отдельно
  #9  
Старый 24.01.2012, 12:59
Zorkov Igor Zorkov Igor вне форума
Новичок
 
Регистрация: 28.07.2009
Сообщения: 85
Репутация: 50
По умолчанию Получение приоритета

Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  ABOVE_NORMAL_PRIORITY_CLASS = $00008000;
  BELOW_NORMAL_PRIORITY_CLASS = $00004000;
  PROCESS_QUERY_LIMITED_INFORMATION = $1000;
var
  ProcessHandle: THandle;
  PriorityClass: DWORD;
begin
  ProcessHandle := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_QUERY_INFORMATION, True, StrToInt(Edit1.Text));
  if ProcessHandle <> 0 then
  begin
    try
      PriorityClass := GetPriorityClass(ProcessHandle);
      case PriorityClass of
        IDLE_PRIORITY_CLASS:
          ShowMessage('Приоритет процесса (' + Edit1.Text + '): IDLE_PRIORITY_CLASS');
        BELOW_NORMAL_PRIORITY_CLASS:
          ShowMessage('Приоритет процесса (' + Edit1.Text + '): BELOW_NORMAL_PRIORITY_CLASS');
        NORMAL_PRIORITY_CLASS:
          ShowMessage('Приоритет процесса (' + Edit1.Text + '): NORMAL_PRIORITY_CLASS');
        ABOVE_NORMAL_PRIORITY_CLASS:
          ShowMessage('Приоритет процесса (' + Edit1.Text + '): ABOVE_NORMAL_PRIORITY_CLASS');
        HIGH_PRIORITY_CLASS:
          ShowMessage('Приоритет процесса (' + Edit1.Text + '): HIGH_PRIORITY_CLASS');
        REALTIME_PRIORITY_CLASS:
          ShowMessage('Приоритет процесса (' + Edit1.Text + '): REALTIME_PRIORITY_CLASS');
      end;
    finally
      CloseHandle(ProcessHandle);
    end;
  end
  else
  begin
    ShowMessage('Невозможно открыть процесс (' + Edit1.Text + ')');
  end;
end;
Ответить с цитированием