Следующий пример изменяет приоритет приложения. Изменение приоритета следует использовать с осторожностью - т.к. присвоение слишком высокого приоритета может привети к медленной работе остальных программ и системы в целом. См. Win32 help for SetThreadPriority() function.
Code: |
procedure TForm1.Button1Click(Sender: TObject); var ProcessID : DWORD; ProcessHandle : THandle; ThreadHandle : THandle; begin ProcessID := GetCurrentProcessID; ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION, false, ProcessID); SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS); ThreadHandle := GetCurrentThread; SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL); end; |
Code: |
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;
для получения приоритета.
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!