|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
Вычислить загрузку ЦП конкретного запущенного процесса на VB20.03.2023, 13:48. Показов 3980. Ответов 63
Метки нет (Все метки)
Доброго времени суток!
В Интернете так и не нашёл кода для VB6, чтобы рассчитать загрузку ЦП конкретного запущенного процесса, как в диспетчере задач. Нашёл где-то скрипт VBS который можно переписать в VB6 конечно, но я не хочу использовать WMI. Лучше всего функции писать на чистом API. Правда в конференции VBStreets всё же есть код, но там используется библиотека DLL, а я хочу чтобы код был на чистом VB6. Плюс я ещё хочу чтобы значение в процентах получалось с десятыми и даже с сотыми одного процента. А там код возвращает только целые числа без дробей. На этом форуме всё же затрагивалась такая тема, но лишь для получения загрузки ЦП всей системы сразу, всех запущенных процессов. А мне нужно для конкретного процесса по отдельности, так как это выполнено в любых диспетчерах задач. С чего же начать? Какую функцию для этого использовать? GetProcessTimes, скорее всего, но я ещё думаю и о других функциях. Добавлено через 47 минут Функция GetSystemTimes требует права доступа и для системных процессов она не покажет результатов. Тем более мне пришлось бы узнавать версию Windows для того чтобы определить PROCESS_QUERY_LIMITED_INFORMATION или PROCESS_QUERY_INFORMATION для XP. Поэтому я решил, что лучше всего использовать NtQuerySystemInformation, эта функция обходит ограничение прав доступа и показывает информацию даже для всех системных процессов.
0
|
|
| 20.03.2023, 13:48 | |
|
Ответы с готовыми решениями:
63
Как найти загрузку процессора для каждого запущенного процесса в процентах?
Имя запущенного процесса |
| 01.04.2023, 14:53 | |
|
Такой момент: в PE если есть табуляторы CPU Time, и Cycles, и в Cycles как раз-таки изменения происходят чаще даже при маленькой нагрузке. Но если отсортировать по "CPU Time" или по "Cycles" картина получается не одинаковая..
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 01.04.2023, 14:56 [ТС] | |
|
0
|
|
| 01.04.2023, 15:02 | ||||
|
0
|
||||
|
sleep
4922 / 4567 / 840
Регистрация: 13.04.2015
Сообщений: 9,718
|
|
| 01.04.2023, 15:11 | |
|
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||
| 01.04.2023, 15:15 [ТС] | |||||
|
Добавлено через 2 минуты Добавлено через 1 минуту
0
|
|||||
| 01.04.2023, 15:21 | |||
|
Добавлено через 1 минуту
0
|
|||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 01.04.2023, 15:21 [ТС] | |
|
а я люблю процесс хахер.
0
|
|
|
sleep
4922 / 4567 / 840
Регистрация: 13.04.2015
Сообщений: 9,718
|
||
| 01.04.2023, 15:22 | ||
|
Добавлено через 7 секунд Они же они меняются каждые несколько секунд... Добавлено через 13 секунд Хотя, хрен с ними, неинтересно
0
|
||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 01.04.2023, 15:23 [ТС] | ||
|
1
|
||
|
sleep
4922 / 4567 / 840
Регистрация: 13.04.2015
Сообщений: 9,718
|
|
| 01.04.2023, 15:24 | |
|
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||
| 01.04.2023, 15:25 [ТС] | |||
|
Добавлено через 21 секунду
0
|
|||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 07.04.2023, 01:22 [ТС] | |
|
Только что случайно узнал одну вещь, если нагрузить ДВА и более процессора, то всё равно моя функция/программа покажет максимум процентов делёное на количество ядер. То есть если у меня 4 ядра, то показывает максимум 25 процентов, а это неправильно. Никто не указал мне на мою ошибку да и проверить я так просто этого не мог раньше случайно заметил.
Короче. Код работает неправильно!!! Для проверки просто нужно создавать ещё один поток, и нагружать его тоже по максимуму, чтобы операционная система начинала задействовать второй процессор. А на VB6 создавать второй поток это не такая уж и простая задача, как всем известно... Придётся переписывать функцию, ребята... И главное ж никто не указал мне на мою ошибку. Добавлено через 3 минуты The trick, мне бы не помешала твоя помощь. Ты профессионал в многопоточности. Можешь ли скинуть самый простой код создания второго потока в котором просто засунуть бесконечный цикл Do Loop для нагрузки одного ядра на 100%
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 07.04.2023, 08:10 [ТС] | ||
|
0
|
||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||||
| 07.04.2023, 19:38 [ТС] | ||||||
|
У Драгокаса функция правильно была написана, а я сам просто ошибся и переписал его код неправильно у себя.
Ошибки я исправил.
0
|
||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 07.04.2023, 19:52 [ТС] | |
|
The trick, поменяй пожалуйста в готовых решениях эту зипку.
Размещаю готовый вариант с исправленными ошибками. Теперь показывает правильно, если загружать два и более ядра.
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 07.04.2023, 19:56 [ТС] | |
|
Извините, опять косяк был, уже последний думаю. Больше чем за 100% зашкаливало. Теперь исправил. Вот теперь уже окончательный готовый вариант.
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 07.04.2023, 19:58 [ТС] | |
|
Код наверное надо ещё тут исправить как-то? Или снова постить...
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||||
| 07.04.2023, 21:01 [ТС] | |||||||
|
ну архив ты обновил правильно а вот код там надо бы тоже подправить конечно формы и модуля
Добавлено через 7 минут Добавлено через 1 минуту И вот окончательный вариант функции, хотелось бы поменять это в сообщении тут сверху Вычислить загрузку ЦП конкретного запущенного процесса на VB но у меня нету кнопки редактирования.
Единственный минус этих функций, что при загрузке одного ядра (из моих четырёх) на 100% у меня программа выдаёт 25% с хвостиком. При загрузке двух ядер 50 процентов с хвостиком. Я не знаю, может это и не баг. Может этот хвостик и нужен. Фиг его знает. Добавлено через 1 минуту Но больше 100% никогда не поднимется это точно я искусственно ограничил. Чтобы не было 102% или 103%... Добавлено через 2 минуты Ну и плюс ко всему прочему, вы понимаете, что это пример лишь для слежения за ОДНИМ только процессом. Пакетная обработка по 10 процессов выглядела бы несколько иначе конечно. Плюс здесь будет иметься мелкий баг при переключении слежения на другой процесс первое значение будет неправильным, но зато всегда со второго раза всегда правильное значение показывает. Поэтому лучше всего первый замер делать именно во время загрузки формы.
0
|
|||||||
| 07.04.2023, 21:01 | |
|
Помогаю со студенческими работами здесь
60
Отображение запущенного процесса. Поиск запущенного процесса Контроль запущенного процесса MD5 запущенного процесса Проверка запущенного процесса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|