Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Вниз

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


Хлор   (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);




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.018 c
6-80649           otari                 2002-01-09 10:59  2002.03.25  
Как мне откривать кокоинибуть TPC/IP порт


3-80430           SkyR                  2002-02-26 06:48  2002.03.25  
Такой ламерский вопрос...


3-80451           Bura                  2002-02-26 18:00  2002.03.25  
Не могу установить связь с IB


1-80537           dima_                 2002-03-13 13:19  2002.03.25  
Помогите чайнику с Tmemo...


3-80413           Сява                  2002-02-26 15:27  2002.03.25  
Как создать БД в IB