![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
diamondd |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 11.9.2007 Репутация: нет Всего: нет |
Пробовал отлавливать сообщения системы разными путями (WndProc, ApplicationEvents, SetWindowsHookEx), но если окно неактивно ничего не происходит. Пожалыста, подскажите!
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
О каких сообщениях идет речь? Неактивному окну не отсылают некоторые сообщения, потому их и нельзя получить.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
diamondd |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 11.9.2007 Репутация: нет Всего: нет |
Речь идет о сообщениях клавиатуры. Да, они не отсылаются неактивному окну (через WndProc и ApplicationEvents). Но я наткнулся на описание ловушек (hook) и прочитал в хелпе по Windows SDK, что эти ловушки выполняются до отправки сообщения активному окну. Попробовал. Все работает, но как только я переключаюсь на другое окно, то мое окно перестает реагировать. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Так для того чтобы ловушка работала, она должна находиться в Dll иначе она не сможет пристыковаться к чужому приложению. Так получается, что ловушка перехватывала только сообщения текущего приложения, и как только они перестали поступать, сразу и перестало срабатывать. Хук присоединенный в виде Dll присоединяется не только к текущей программе но и ко всем остальным, потому он и перехватывает чужие приложения. Есть масса готовых примеров в разделе "Delphi: WinAPI и системное программирование"
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
diamondd |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 11.9.2007 Репутация: нет Всего: нет |
Попробовал, теперь работает. Пасибо!
![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
diamondd, если вопрос решен, то его следует пометить как решенный (справа возле опций темы)
Это сообщение отредактировал(а) Alexeis - 12.9.2007, 17:45 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
diamondd |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 11.9.2007 Репутация: нет Всего: нет |
Извиняюсь... запамятовал
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |