Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
2 / 2 / 2
Регистрация: 06.06.2014
Сообщений: 156
Записей в блоге: 1

ReadProcessMemory медленно читает значение адреса

05.07.2015, 18:06. Показов 1605. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
while (true)
    {
        if (isRun) {
            try
            {
                ReadProcessMemory(ProcessHandle, (void*)TimeAddress, &Time, sizeof(osuTime), NULL);
                std::cout << Time << std::endl;
            }
            catch (const std::exception&) {}
        }
        Sleep(sleepTime);
    }
Есть таймер, который обновляется каждую миллисекунду. CheatEngine читает адрес нормально даже в интервале "1 миллисекунда", но вот код на C++ не так быстро читает, выводит (std::cout) каждую миллисекунду, но вот значение переменной Time меняется раз в приблизительно 18 миллисекунд. Вот вывод моей программы в консоли:
27589
27589
27589
27624
27624
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.07.2015, 18:06
Ответы с готовыми решениями:

ReadFile читает диск очень медленно
Здравствуйте! Задача: создание образа флешки в файл. Использую для этого ReadFile. Вот код (С++ Builder 6): void __fastcall...

Дисковод читает диски очень медленно
Тормозит сдром. Читает диски очень медленно, что-нибудь установить с компакта невозможно. Шлейф недавно купил новый. Модель привода Тошиба...

Напишите программу, которая читает с клавиатуры числовое значение x и выводит на экран значение функции f(x)
Добрый день! имеется следующая задача: Напишите программу, которая читает с клавиатуры числовое значение x и выводит на экран...

6
2 / 2 / 2
Регистрация: 06.06.2014
Сообщений: 156
Записей в блоге: 1
05.07.2015, 18:09  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
while (true)
    {
        if (isRun) {
            try
            {
                ReadProcessMemory(ProcessHandle, (void*)TimeAddress, &Time, sizeof(osuTime), NULL);
                std::cout << Time << std::endl;
            }
            catch (const std::exception&) {}
        }
        Sleep(sleepTime);
    }
Есть таймер, который обновляется каждую миллисекунду. CheatEngine читает адрес нормально даже в интервале "1 миллисекунда", но вот код на C++ не так быстро читает, выводит (std::cout) каждую миллисекунду, но вот значение переменной Time меняется раз в приблизительно 18 миллисекунд. Вот вывод моей программы в консоли:
Кликните здесь для просмотра всего текста
27589
27589
27589
27624
27624
27624
27624
27624
27624
27624
27624
27624
27624
27624
27624
27624
27624
27624
27641
27641
27641
27641
27641

Как видно, есть некий интервал, когда значение таймера успевает смениться.
P.S. адрес таймера, который я читаю, обновляется раз в 1 мс 100%. Я делал такую же программу на C# и там все работало, переменная time обновлялась каждую миллисекунду (как в CheatEngine).
как решить проблему со чтением адреса?
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
05.07.2015, 21:38
Лучший ответ Сообщение было отмечено AndreySeVeN как решение

Решение

Замените Sleep на что-нибудь другое, например, на какой-нибудь multimedia timer.
У этой функции не такая высокая точность, чтобы выдавать промежутки времени
строго в 1 миллисекунду.
0
2 / 2 / 2
Регистрация: 06.06.2014
Сообщений: 156
Записей в блоге: 1
05.07.2015, 23:02  [ТС]
Убежденный, Задержки вывода на консоль нет!!!!! Криво читает адрес.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
05.07.2015, 23:07
Цитата Сообщение от AndreySeVeN Посмотреть сообщение
Убежденный, Задержки вывода на консоль нет!!!!! Криво читает адрес.
Объясни понятным языком что тебе нужно. У тебя в названии темы написано: "ReadProcessMemory медленно читает значение адреса ".
0
 Аватар для Krasiosoft
52 / 52 / 23
Регистрация: 01.06.2015
Сообщений: 189
06.07.2015, 01:13
Когда-то тоже сталкивался с такой же проблемой. Только у меня sleep делал задержку примерно в 12 мс. Но таймер не помог. С помощью таймера я смог достичь только задержки в 1 мс. Возможно, тут будет корректнее сделать через перехват функции, которая обновляет переменную.

И если не ошибаюсь, то try-catch не нужен для ReadProcessMemory.
1
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
06.07.2015, 13:30
AndreySeVeN, значит в переменную значение заносится раз в 18 мс...
которую вы читаете по данному адресу
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.07.2015, 13:30
Помогаю со студенческими работами здесь

Не читает значение input ratio
Не читает значение input ratio valve не могу понять почему остальное читается &lt;?php ini_set ( 'display_errors' , true ); ini_set (...

Не читает значение ячейки с таблицы StringGrid
Здравствуйте, как не хотел но самому не получается решить эту задачу. Сделал таблицу, накидал в нее данных, и не могу прочитать ячейку...

Неправильно читает в string значение DATETIME
Здраствуйте, есть БД MySQL в которой в колонке date есть запись 2015-05-28 19:44:15. Когда я с С# читаю запись, то мне в переменную...

Не могу понять почему Яндекс не читает мой Sitemap? а google читает.
Захожу в яндекс мастер выбираю sitemap а он мне пишет ошибка в файле sitemap невалидный sitemap Но захожу в гугл там все отлично 2200...

Проблема с OCR Puma.Net (читает текст с одной картинки, но не читает с другой)
Здравствуйте, есть проект с оцр Puma.Net и есть 2 картинки 1ая и 2ая, только вот с первой картинки программа читает текст, а со второй нет....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru