![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Tamerlann |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 10.11.2002 Где: Минск, Беларусь Репутация: нет Всего: 2 |
Как программа может отловить нажатие клавиши на клавиатуре так, чтобы затем другие приложения и окна не получили сообщение, что нажата эта клавиша? Я так понимаю, что кроме всего прочего, отлавливающая программа должна иметь более высокий приоритет, чем остальные, от которых скрывается нажатие (остальными судя по всему будут все приложения обычно запускаемые под Виндой, т.е. приоритет - средний). Как поднять приоритет? (прошу не счесть за два вопроса в одном топике - второй вопрос - часть глобального первого
Иными словами (по поводу второго вопроса), кажется, вообще получится что-то вроде драйвера. --------------------
http://timursdev.blogspot.com/ |
|||
|
||||
| Paradox |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1135 Регистрация: 18.11.2002 Где: Россия Репутация: нет Всего: 1 |
Наверное ловить WM_KEYDOWN или WM_KEYPRESS
-------------------- --- |
|||
|
||||
| Tamerlann |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 10.11.2002 Где: Минск, Беларусь Репутация: нет Всего: 2 |
Отловить то само нажатие я смогу, как не отдать его другим приложениям?
--------------------
http://timursdev.blogspot.com/ |
|||
|
||||
| mmv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 28.1.2004 Где: г. Воронеж Репутация: нет Всего: нет |
Этот вопрос меня тоже интересует.
Только дело тут не в приоритете. Его-то повысить просто: Например:
Выше среднего и ниже среднего - я отловить не смог. В хелпе есть, но видно, я что-то не понимаю... Однако суть в том, что это ни фига не влияет на перекрытие клавиш. Это я проверял. Тут нужно прежде всего разобраться в теоретическом аспекте, но он-то как раз для меня остается загадкой. Я тоже в свое время пытался отловить сочетания клавиш, перекрываемые игрушкой. Но потерпел неудачу. Буду вместе с вами с интересом ждать новых ответов. |
|||
|
||||
| StayAtHome |
|
|||
![]() Домосед ![]() ![]() Профиль Группа: Участник Сообщений: 456 Регистрация: 26.1.2004 Где: Украина Репутация: нет Всего: 16 |
Нужно использовать Hooks -- скачай FAQ от Vit'a? там есть исчерпывающая информация по этой теме. (И не только по этой
|
|||
|
||||
| mmv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 28.1.2004 Где: г. Воронеж Репутация: нет Всего: нет |
Если упрощенно, то я делал примерно так:
|
|||
|
||||
| Tamerlann |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 10.11.2002 Где: Минск, Беларусь Репутация: нет Всего: 2 |
Точно, в FAQ есть два примера hook'a, но что-то я не понял как они работают. (может кто объяснит
--------------------
http://timursdev.blogspot.com/ |
|||
|
||||
| mmv |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 28.1.2004 Где: г. Воронеж Репутация: нет Всего: нет |
А само задание приоритета я забыл написать. Вот оно:
|
||||
|
|||||
| dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 1 Всего: 137 |
||||
|
||||
| Tamerlann |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 10.11.2002 Где: Минск, Беларусь Репутация: нет Всего: 2 |
Спасибо, dm9.
Если кто-нибудь ещё знает где почитать про это, то я не откажусь от дополнительных ссылок. Спасибо, mmv, за приоритеты (описание установления). Осталась нам сама малость... :разобраться с hook'ом --------------------
http://timursdev.blogspot.com/ |
|||
|
||||
| Tamerlann |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 10.11.2002 Где: Минск, Беларусь Репутация: нет Всего: 2 |
Статья, указанная dm9, действительно подробно описывает ловушки и механизм их работы, но в ней я не нашёл ответа на вопрос: а как же отменить событие, т.е. убрать само сообщение из очереди, чтобы оно не было передано окну (приложению).
--------------------
http://timursdev.blogspot.com/ |
|||
|
||||
| <Spawn> |
|
||||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
||||
|
|||||
| Tamerlann |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 10.11.2002 Где: Минск, Беларусь Репутация: нет Всего: 2 |
Sorry, не понял. Можно просто попдробнее описать?, пожалуйста. (т.е. как работает)
--------------------
http://timursdev.blogspot.com/ |
|||
|
||||
| Tamerlann |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 10.11.2002 Где: Минск, Беларусь Репутация: нет Всего: 2 |
Только-что попробовал то, что предложил <Spawn> - всё просто великолепно работает!!!! Большое! спасибо, <Spawn>.
Но всё же, что это за Result? Это сообщение отредактировал(а) Tamerlann - 11.2.2004, 21:49 --------------------
http://timursdev.blogspot.com/ |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Я не помню как обстоят дела с WH_KEYBOARD, но для WH_CBT хука, в зависимости от результата выполнения функции хука, разрешается или запрещается операция. Так что попробуй что то типа этого:
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
![]()
|
| Правила форума "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. |