
24.01.2012, 12:59
|
Новичок
|
|
Регистрация: 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;
|