С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2

Использование хука WH_JOURNALPLAYBACK

05.03.2012, 17:50. Показов 1462. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!
Нужно восроизвести некоторые события мыши, если делать через postMessage() / sendMessage() то реальное состояние мыши на уровне системы не обновляется. Нагуглил, что можно сделать через хук WH_JOURNALPLAYBACK, но не могу понять как его использовать.
Толковых примеров (да вообще каких-либо примеров) найти не смог, может у кого-нибудь был опыт использования данного хука?

Добавлено через 26 минут
А все, кажется разобрался, как обычно методом Коши Попозже сюда пример скину, а то в сети что-то не густо по этому поводу.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2012, 17:50
Ответы с готовыми решениями:

Изъезженная тема про SetWindowsHookEx и WH_JOURNALPLAYBACK/WH_JOURNALRECORD
Привет всем. Я хочу сделать макрос, считывающий сообщения какого-либо приложения и потом эти сообщения воспроизводящий для этого же...

Установка хука
Понадобилась программа блокировки клавиатуры. По-видимому, единственный способ добиться этого - перехватывать события клавиатуры, т.е....

Создание глобального хука
Здравствуйте.Помогите пожалуйста с написанием dll и связью ее с основной программой. в частности не могу понять как экспортировать...

3
Cepёга
28.04.2012, 19:00
Поделитесь пожалуйста опытом, очень необходимо!
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
28.04.2012, 19:30  [ТС]
Посмотрю код, если не удалил, выложу.
Вобщем я так и не осилил до конца этот вопрос (или может как раз до конца, только результат меня не устроил). Мне это понадобилось для эмуляции событий пользователя, но получается не совсем хорошо. Может все таки правильно пишут, что рекомендуется использовать этот хук только для воспроизведения событий, записанных при помощи хука WH_JOURNALRECORD.
А так, на сколько я помню, ему можно "кормить" любые события, только "дозировать" их и остановить работу хука, когда это необходимо, у меня не получилось. Может это и не возможно при таком подходе.
0
Cepёга
29.04.2012, 01:33
Я записываю lParam в двоичный файл, как есть по 20 байт, и добавляю "#" в начало каждых 20 байт, чтобы проверку делать. А вот теперь пишу процедуру JournalPlayProc. Итак считал 1 байт, если "#", то читаем 20 байт(1 сообщение lParam) и... Вот куда думаю его пихнуть, также в lParam что ли?

Добавлено через 12 минут
Пихаю каждое прочитанное сообщение в lParam, чувствую все работает, из файла идет чтение, и системка подвисает на время этого хука, пока не читает конец двоичного файла, потом делается RemovePlayHook(). Но вот на экране не вижу никаких движений мышь. Она просто стоит где стояла и все. Двоичный файл я пока организовал по принципу стэка. Когда из него читается "#" и следующие 20 байт, они удаляются, а остаток файла перезаписывается, и так пока не будет feof(File). Или как то проще можно?

Добавлено через 12 минут
Да вот еще, чего не понял, там вроде как надо считать разницу времени в тактах между сообщениями Msg->time. А вот как паузы в тактах не знаю как делать. Может из за этого не видно как мышь двигается?

Добавлено через 5 часов 28 минут
Урррра, получилось!!! Правда, как я и предполагал, интервалы времени между сообщениями игнорятся. Будем додумывать.:dance3:
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.04.2012, 01:33
Помогаю со студенческими работами здесь

Метод Хука-Дживса
Здравствуйте! Помогите, пожалуйста, решить проблему: в методе Хука-Дживса, судя по графику, поиск точки проходит не только в разрешённых...

Пример хука CreateProcess
Можно пример хука CreateProcess'а на замарозку процесса?

Метод Хука-Дживса.
Подскажите как можно избавиться от label m1, m2;goto а место них While поставить правильно? спс все кто поможет procedure...

установка глобального хука
Необходимо отследить открытие всех окон в системе, т.е. установить глобальный хук. Делаю следующее DLL файл keyhook.cpp ...

Шаблон для хука
Привет народ, мне нужен шаблон для С++ или C# чтобы он исполнял мой код при открытии ноутбука, например, я открыл крышку ноутбука - он...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю 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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru