![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| DragonFire |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
Не могу понять как нужно организовать програмный цикл. Устанавливаю Hook а процедура, обрабатывающая его не вызывается и программа закрывается сразу же(
если написать так:
то программа вылетает... как быть? |
||||
|
|||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
Вобще хуки рекомендуют в длл выносить, а уж оттуда вызывать.
сразу или спустя немного времени таки и должна завершится, там так и написано: хук поставили и навылет. -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
Ага поставил я его, а он ничего не делает, в DLL пробовал выносить, что-то не получилось опять же...
|
|||
|
||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
-------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
DragonFire, Хуки есть двух видов. Локальные и глобальные. Если ты хук определяеш в основном модуле, то это локальный хук. И он будет действовать только в пределах твоего процесса, Если ты загружаеш хук с Dll это глобальный хук. Он будет действовать на всю систему.
-------------------- Пролетал мимо. |
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
Ага спасибо, ща буду разбиратся...
drkot Что-то я не нашел там про хуки... может монитор глючит) Это сообщение отредактировал(а) DragonFire - 13.6.2006, 22:21 |
|||
|
||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
там есть пост
наворочено реализован, но работает стабильно. -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Навороченно это мягко сказанно, там я явно палку перегнул, а всё от того, что не знал как кодировку определить, вот и придумал фишку с ДЛЛ.
А вобще по данному способу очень хорошо высказался Rouse_, за что ему нечеловеческий респект, и медалька. А высказался он вот таким кодом:
|
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
Как все просто то
Спасибо |
|||
|
||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
высказавание очнь хорошее, тока проблема кодировки не решена -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
||||
|
||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
Может потомы, что у меня локаль инглуцкая стоит
-------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| Rondo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 24.2.2006 Где: там.. Репутация: нет Всего: нет |
Люди! А почему прога не перехватывает клавиши с других приложений.. точнее он перехватывает, но буквы только в большлм регистре.
так она себя ведет если фокус стоит на форме самого логгера: Keyboard message = WM_KEYDOWN scan code = b [98]2 Keyboard message = WM_KEYDOWN scan code = c [99]3 Keyboard message = WM_KEYDOWN scan code = Q [81]q Keyboard message = WM_KEYDOWN scan code = W [87]w Когда форма логгера несфокусирована то: Keyboard message = WM_KEYDOWN scan code = 3 [51] Keyboard message = WM_KEYDOWN scan code = Q [81] Keyboard message = WM_KEYDOWN scan code = W [87] P.S WM_KEYUP нестал писать т.к всегда получается как на несфокусированной форме.. Это сообщение отредактировал(а) Rondo - 27.8.2006, 04:41 --------------------
Начинающий кодер |
|||
|
||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
Это не буквы, а скан коды клавиш. они не зависят от регистра (зависят развешто от кнопок режимов но они только на навороченых влавиатурах встречаются)
Регистр распознавать самостоятельно надо. -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| JeronimoIn |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
а как заставить этот хук работать исключительно в определенном окне? |
||||
|
|||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |