Мне нужно установить низкий приоритет выполнения моей программы, а то когда я ее запускаю (тот код который в кнопке) она поедает все ресурсы и остальное уже не возможно делать – все тормозит.. Я нашол код..вставил его в начало проги __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { SetPriorityClass(GetCurrentThread(), THREAD_PRIORITY_LOWEST); Но не рабобтает.... может я не туда вставил или не то ? Подскажи если в курсе, как установить моей программе низкий приоритет выполнения? Так чтобы я мог нормально работать с другими программами ? Если ктоможет скинте исходник.
SetPriorityClass устанавливает приоритет для процесса и вызывается так: Код (Text): SetPriorityClass(GetCurrentProcess(),IDLE_PRIORITY_CLASS); Для изменения приоритета потока юзай SetThreadPriority().
вынести код выполнения в отдельный процесс, для которого можно установить низкий приоритет вышеприведённой функцией.
Наверное лучше не процесс отдельный, а отдельный поток. То место, где вызывается твоя функция, пожирающая ресурсы, замени на такой код: Код (Text): hThread1 = CreateThread(NULL, 0, New_Thread, NULL, 0, &ThreadId1); а вызов твоей тяжелой функции осуществляй из этого потока: Код (Text): void New_Thread(LPARAM lParam){ //установка приоритета нового потока SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_LOWEST); //запуск тяжёлой функции MyFunc(); }