Оконное приложение. хочу изменить его приоритет. (А также всех дочерних) Но функция SetPriorityClass требует хендл процесса. BOOL SetPriorityClass( HANDLE hProcess, // дескриптор процесса DWORD dwPriorityClass // значение класса приоритета ); Как узнать хендл процесса приложения?
Спасибо, 2FED И кстати за вчерашние подсказки тоже насчёт перерисовки окна, ты где-то был прав. Шаришь!
Ну да, я так и поступил start: invoke GetModuleHandle,NULL mov hInstance,eax invoke GetCommandLine invoke GetCurrentProcess ; Вычисляем псевдохэндл invoke SetPriorityClass,eax,HIGH_PRIORITY_CLASS ;Ставим высокий приоритет процесса invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT invoke ExitProcess,eax Теперь программа работает адекватно. Раньше загрузка процессора была 99% и глючила Сейчас 57%
Воабще если поток грузит обрабатывает данные без задержек( то есть не стоит всяких sleep) то до окончания цикла он и будет грузить проц на полную, и приоретет тут ни причём, наоборот чем выше приоретет тем больше он будет времени отнимать у других потоков, не понимаю как может снизится загрузка ЦП при повышении приоретета =/
не будет ли подобна картина наблюдаться если процесс юзает регистры, юзать которые не рекомендуется...
система ... переключает потоки, по ходу дела восттанавливая регистры - она же их тоже использует ..вот и грузится проц..
Категорично повторяю то, что вижу. Ранее процессор грузил на полную ( 99% )и программа глючила. Сейчас 57 процентов и главное всё выполняется чистенько. Почему - не знаю. По скорости не смотрел ещё.
TOLSTOPUZ Всему есть логичное объяснение. driver Бред, причём тут регистры и загрузка процессора? при переключении контекста сохроняется состояние процессора полностью, тоесть все регистры и EFALGS
2FED А типа eflags к регистрам не относится. Но это не суть. А суть здесь: http://www.wasm.ru/forum/viewtopic.php?pid=252385#p252385 И кто-то еще писал, что в windows именно так и реализовано переключение задач. Так что ИМХО driver отчасти прав. Хотя "регистры, юзать которые не рекомендуется" - это, конечно, сильно сказано.