Как я могу создать и запустить процесс из моей программы с возможностью установки приоритета процесса?
Это то, что у меня есть:
const
LOW_PRIORITY = IDLE_PRIORITY_CLASS;
//BELOW_NORMAL_PRIORITY = ???
NORMAL_PRIORITY = NORMAL_PRIORITY_CLASS;
//ABOVE_NORMAL_PRIROTY = ???
HIGH_PRIORITY = HIGH_PRIORITY_CLASS;
REALTIME_PRIORITY = REALTIME_PRIORITY_CLASS;
procedure RunProcess(FileName: string; Priority: Integer);
var
StartInfo: TStartupInfo;
ProcInfo: TProcessInformation;
Done: Boolean;
begin
FillChar(StartInfo,SizeOf(TStartupInfo),#0);
FillChar(ProcInfo,SizeOf(TProcessInformation),#0);
StartInfo.cb := SizeOf(TStartupInfo);
try
Done := CreateProcess(nil, PChar(FileName), nil, nil,False,
CREATE_NEW_PROCESS_GROUP + Priority,
nil, nil, StartInfo, ProcInfo);
if not Done then
MessageDlg('Could not run ' + FileName, mtError, [mbOk], 0);
finally
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
end;
end;
Вышекод работает в том, что я могу установить приоритет выполняемого процесса.Но посмотрите на изображение ниже диспетчера задач Windows:
Вы можете установить дополнительные параметры, такие как «Ниже нормы» и «Выше нормы», которые я также хочу установить.Просматривая Windows.pas, я не вижу такого значения.
Как я могу создать и запустить свой процесс с этими дополнительными параметрами?
Спасибо:)