Declare Function SetPriorityClass Lib "kernel32" ( _ ByVal hProcess As Long, _ ByVal dwPriorityClass As Long) As Long
Функция SetPriorityClass устанавливает класс приоритета для заданного процесса. Это значение вместе со значением приоритета каждого потока процесса определяет базовый уровень приоритета каждого потока.
В успешном случае возвращается ненулевое значение. В случае ошибки возвращается 0. Для получения кода ошибки используйте GetLastError.
Const ABOVE_NORMAL_PRIORITY_CLASS = &8000 | Процесс, который имеет приоритет выше NORMAL_PRIORITY_CLASS, но ниже HIGH_PRIORITY_CLASS |
Const BELOW_NORMAL_PRIORITY_CLASS = &4000 | Процесс, который имеет приоритет выше IDLE_PRIORITY_CLASS, но ниже NORMAL_PRIORITY_CLASS |
Const HIGH_PRIORITY_CLASS = &H80 | Обозначает процесс, выполняющий критические по времени задачи, которые должны быть выполнены немедленно для того, чтобы запустить их правильно. Потоки процесса высокоприоритетного класса выгружают потоки процессов нормального класса или класса приоритета в бездействующей системе. Пример - Список задач Windows, который должен быстро отреагировать, когда вызывается пользователем, независимо от загрузки на операционной системе. Высокоприоритетный класс используйте крайне осторожно, потому что программа высокоприоритетного класса, ограниченная возможностями процессора, может использовать почти все циклы доступа к нему |
Const IDLE_PRIORITY_CLASS = &H40 | Обозначает процесс, потоки которого запускаются только тогда, когда система неактивна и выгружается потоками любого процесса, запущенного с более высоким классом приоритета. Пример - программа-заставка (хранитель экрана). Класс приоритета в бездействующей системе наследуется дочерними процессами. |
Const NORMAL_PRIORITY_CLASS = &H20 | Обозначает нормальный процесс, который не нуждается в специальных мерах диспетчеризации |
Const REALTIME_PRIORITY_CLASS = &H100 | Обозначает процесс, который имеет самый высокий возможный приоритет. Потоки процесса класса приоритета исполнения в реальном времени выгружают потоки всех других процессов, включая процессы операционной системы, выполняющие важные задачи. Например, процесс реального времени, который работает больше, чем очень краткий промежуток времени, может стать причиной того, что дисковые кэши не станут сбрасывать на диск или причиной того, что мышь будет не реагирующей. |
Смотри пример функции GetPriorityClass
GetPriorityClass, GetThreadPriority, SetThreadPriority