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

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

Передача управления windows [D4, D6, Win95/98, Win2k]


VitaS ©   (2001-11-14 21:51:00) 

Мне нужно, чтобы программа выполняля функцию, не забивая все ресурсы процессора, и чтобы параллельно можно было нажимать на другие кнопки формы(например, отмена процедуры). Подскажите плеазееее!!!


Fellomena   (2001-11-15 12:22:00) [1]

ну приоритет поменьше поставить можно:

procedure TForm1.Button1Click(Sender: TObject);
var
ProcessID : DWORD;
ProcessHandle : THandle;
ThreadHandle : THandle;
begin
ProcessID := GetCurrentProcessID;
ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION,
false,
ProcessID);
SetPriorityClass(ProcessHandle, LOW_PRIORITY_CLASS);
ThreadHandle := GetCurrentThread;
SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_LOW); // для thread-a может и не LOW, а как-то иначе, точно не помню
end;


Mbo   (2001-11-15 06:47:00) [2]

1)Application.ProcessMessages
2)запустить в отдельной Thread


Наверх

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