![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| qwerty1122 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 20.10.2013 Репутация: нет Всего: нет |
привет)реализую на С++ подобие диспетчера задач на Windows,вроде все хорошо,программа обновляется через определеное время если какието процессы были добавлены(/удалены) то это отображается, но вот почему то не апдейтится колонка CPU,подскажите в чем проблема.вот сам код:
|
|||
|
||||
| DarthTon |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 7.2.2009 Репутация: 5 Всего: 6 |
Я так понимаю вы хотите получить % использования CPU процессом? Однако текущая реализация вычисляет отношение времени процесса в юзермоде к времени ядра. Если так и задумано, то не удивительно, что это отношение не изменяется.
Если всё же хотите получить % использования, то необходимо поделить сумму ftKernel и ftUser конкретного процесса на общее время все процессов. И для этого, кстати, не обязательно переводить FILETIME в SYSTEMTIME, всё равно вычисляется отношение. |
|||
|
||||
| qwerty1122 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 20.10.2013 Репутация: нет Всего: нет |
подскажи пожалуйста как найти это общее всех процессов а то чтото не получается(( |
|||
|
||||
| DarthTon |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 7.2.2009 Репутация: 5 Всего: 6 |
Сделать предварительный проход по всем процессам и просуммировать все значения.
|
|||
|
||||
| qwerty1122 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 20.10.2013 Репутация: нет Всего: нет |
чтото не выходит у меня использовать totalTime.QuadPart в вычислении(как будет правильнее впихнуть это в вычисление?и + почему то всегда в totalTime.QuadPart значение null Это сообщение отредактировал(а) qwerty1122 - 5.11.2013, 19:18 |
||||
|
|||||
| qwerty1122 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 20.10.2013 Репутация: нет Всего: нет |
попробовал твой совет,практически получилось...вот позаимствовав твой метод я попробовал также посчитать сумму Kernel и User (без накопления результата),но все равно нужного результата не выходит...подскажи где не правильно...вот код:
код черновой вариант сильно не судить за оформление |
|||
|
||||
| DarthTon |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 7.2.2009 Репутация: 5 Всего: 6 |
Вместо
Ну или привести к double предварительно, чтобы не бояться переполнения если нужна большая точность . Иначе всегда будет 0. |
||||
|
|||||
| qwerty1122 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 20.10.2013 Репутация: нет Всего: нет |
это метод делает % CPU > 100 (( а если не 1000 делать а на 10 домножать то выводит более правдивые цифры ... НО...они не изменяются,как попали данные с первого снимка так они и крутятся Это сообщение отредактировал(а) qwerty1122 - 8.11.2013, 19:03 |
||||
|
|||||
| DarthTon |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 7.2.2009 Репутация: 5 Всего: 6 |
В общем я осознал что предложенный мной метод в корне не верный
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |