Вниз
Скачать: CL | DM;

Пиплы помогите!!! Можно ли установить приоритет программы   Найти похожие ветки 

 
Хлор ©   (2002-01-26 04:54) [0]

У меня есть прога и я хочу установить приоритет для нее в системе, такое вообще возможно. Если да то как можно это сделать?


 
Raptor ©   (2002-01-26 12:15) [1]

Ты можешь установить только приоритет нити (Thread). Для того что бы установить, как ты выразился, приоритет проги надо установит приоритет основной нити процесса (проги). Для этого используй функцию SetThreadPriority.

//************************** MSDN ******************************
The SetThreadPriority function sets the priority value for the specified thread. This value, together with the priority class of the thread"s process, determines the thread"s base priority level.

BOOL SetThreadPriority(
HANDLE hThread, // handle to the thread
int nPriority // thread priority level
);

Parameters
hThread
Handle to the thread whose priority value is to be set.
Windows NT: The handle must have the THREAD_SET_INFORMATION access right associated with it.

nPriority
Specifies the priority value for the thread. This parameter can be one of the following values: Priority Meaning
THREAD_PRIORITY_ABOVE_NORMAL Indicates 1 point above normal priority for the priority class.
THREAD_PRIORITY_BELOW_NORMAL Indicates 1 point below normal priority for the priority class.
THREAD_PRIORITY_HIGHEST Indicates 2 points above normal priority for the priority class.
THREAD_PRIORITY_IDLE Indicates a base priority level of 1 for IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, or HIGH_PRIORITY_CLASS processes, and a base priority level of 16 for REALTIME_PRIORITY_CLASS processes.
THREAD_PRIORITY_LOWEST Indicates 2 points below normal priority for the priority class.
THREAD_PRIORITY_NORMAL Indicates normal priority for the priority class.
THREAD_PRIORITY_TIME_CRITICAL Indicates a base priority level of 15 for IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, or HIGH_PRIORITY_CLASS processes, and a base priority level of 31 for REALTIME_PRIORITY_CLASS processes.

Return Values
If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.
//**********************************************************

Хендл Thread"а (hThread) получаешь, например, с помощью функции GetCurrentThread (hThread:=GetCurrentThread).


 
Dimaond Cat ©   (2002-01-27 01:09) [2]

var
PriorityClass, Priority: Integer;
begin
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);

SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
//делаем нечто
//и возвращаем старый приоритет
SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.006 c
1-80620
Andreyka
2002-03-11 20:50
2002.03.25
Объединение панелей инструментов


1-80619
Максимка
2002-03-11 20:05
2002.03.25
Этакий глюк при открытии модальной формы в DLL


1-80590
AlexNord
2002-03-10 03:19
2002.03.25
Progress Bar или что то похожее!:)


1-80606
Well
2002-03-11 14:07
2002.03.25
Путь к файлу


1-80516
lipskiy
2002-03-13 03:28
2002.03.25
Ошибка при создании класса?




   Наверх