Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

установка приоритета [D5, WinME, Win2k]


sir_musatov ©   (2002-04-26 16:46:00) 

уважаемые мастера ! подскажите новичку
для установки приоретета в хелпе пишут код
var
SecondProcess TMyThread; { TMyThread is a custom descendant of TThread }
begin
SecondProcess := TMyThread.Create(True); { create suspended – secondprocess does not run yet }
SecondProcess.Priority = tpTimeCritical; { set the priority }
SecondProcess.Resume; { now run the thread }
end;

поясните пожалуста что тут к чему, как узнать имя процесса моей программы ?


Almaz   (2002-04-27 00:42:00) [1]


> sir_musatov (26.04.02 17:29)
> а можно ли с помощью установки самого высокого приоритета
> добиться, чтоб программы запущеные ранее приостановили свою
> деятельность ?

Теоретически - да. Практически - только на очень короткий срок, так как долго Windows этого не выдержит (из практического опыта).

Удачи.


sir_musatov   (2002-04-26 17:29:00) [2]

а можно ли с помощью установки самого высокого приоритета добиться, чтоб программы запущеные ранее приостановили свою деятельность ?


VEG   (2002-04-26 17:14:00) [3]

Следующий пример изменяет приоритет приложения. Изменение приоритета следует использовать с осторожностью - т.к. присвоение слишком высокого приоритета может привети к
медленной работе остальных программ и системы в целом. См. Win32 help for SetThreadPriority() function.
Пример:

procedure TForm1.Button1Click(Sender: TObject);
var ProcessID : DWORD;
ProcessHandle : THandle;
ThreadHandle : THandle;
begin
ProcessID := GetCurrentProcessID;
ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION,
false, ProcessID);
SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);
ThreadHandle := GetCurrentThread;
SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо