Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

Приоритет   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.209 c
1-1104790435
Sergey77
2005-01-04 01:13
2005.01.23
BorderStyle = bsNone


1-1105464482
Magic_STI
2005-01-11 20:28
2005.01.23
Вывод ресалтов поиска


1-1105040772
KriNEEDHELP
2005-01-06 22:46
2005.01.23
Pri zakritii programki ona is4ezaet iz traybara =(((


14-1104765928
Piter
2005-01-03 18:25
2005.01.23
Быстрый способ вырезать строку


4-1101956312
Maep
2004-12-02 05:58
2005.01.23
Хранение файлов в ресурсах, как? (C++ Builder)