Форум: "Основная";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
ВнизПриоритет Найти похожие ветки
← →
WhiteGuy (2005-01-05 09:46) [0]Здорово опять!
Чёто я втыкаю.. 8-) - Как изменить приоритет проги?
← →
Rocket © (2005-01-05 09:49) [1]В taskmanager"е вкладка "Процессы". Правой кнопкой на нужном, "Приоритет"... :)
← →
kaZaNoVa © (2005-01-05 09:51) [2]WhiteGuy (05.01.05 9:46)
// Установка LOW приоритета у всего приложения
Procedure SetProgramPriority;
Var
ProcessID : DWORD;
ProcessHandle : THandle;
ThreadHandle : THandle;
Begin
ProcessID := GetCurrentProcessID;
ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION, False, ProcessID);
SetPriorityClass(ProcessHandle, IDLE_PRIORITY_CLASS);
ThreadHandle := GetCurrentThread;
SetThreadPriority(ThreadHandle, THREAD_PRIORITY_LOWEST);
CloseHandle(ProcessHandle);
End;
← →
WhiteGuy (2005-01-05 10:24) [3]2 kaZaNoVa
А чтобы поставить макс., нужно поменять LOWEST на HIGHEST?
← →
TUser © (2005-01-05 11:50) [4]
> kaZaNoVa © (05.01.05 09:51) [2]
Это для текущего потока. Для всего процесса - SetPriorityClass
← →
TUser © (2005-01-05 11:50) [5]
> WhiteGuy (05.01.05 10:24) [3]
См. в WinSDK. А еще есть Тексейра - там очень подробно про это написано.
← →
kaZaNoVa © (2005-01-05 14:17) [6]TUser © (05.01.05 11:50) [4]
не совсем понял, что имеется ввиду ..
> SetPriorityClass
у меня есть :)))))))
← →
TUser © (2005-01-05 15:16) [7]А действительно - прочитал SetThreadPriority и не заметил ...
← →
kaZaNoVa © (2005-01-05 15:25) [8]WhiteGuy (05.01.05 10:24) [3]
Procedure SetProgramPriority;
Var
ProcessHandle : THandle;
ThreadHandle : THandle;
Begin
ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION, False, GetCurrentProcessID);
SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);
ThreadHandle := GetCurrentThread;
SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);
CloseHandle(ProcessHandle);
End;
← →
kaZaNoVa © (2005-01-05 15:30) [9]TUser © (05.01.05 11:50) [5]
> См. в WinSDK.
а я вWindows.pas
в таких случаях обычно заглядываю :))) (там классно константы описаны:))
//я люблю готовый код выкладывать ... а справку редко читаю:)
← →
KSergey © (2005-01-05 15:33) [10]> [9] kaZaNoVa © (05.01.05 15:30)
> //я люблю готовый код выкладывать ...
Вот оно, счастье всем даром!! Наконец то!! УРА!
← →
kaZaNoVa © (2005-01-05 15:38) [11]да, кстати, по сабжу:
Procedure SetProgramPriority;
Var
ProcessHandle : THandle;
Begin
ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION, False, GetCurrentProcessID);
SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);
CloseHandle(ProcessHandle);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
End;
выделенная строка имхо необязательна, но она даёт текущему потоку в итоге приоретет 31 (без неё 24) =)
- я раз, для прикола, вставил потом строчкуWhile (True) do Begin End;
- система (2003) "зависла" =))
← →
kaZaNoVa © (2005-01-05 15:39) [12]KSergey © (05.01.05 15:33) [10]
всё, не буду :)))
хех =)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c