Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 252
от 29.09.2005, 11:12

Администратор:Калашников О.А.
В рассылке:Подписчиков: 243, Экспертов: 48
В номере:Вопросов: 1, Ответов: 3


Вопрос № 26816: Здравствуйте, у меня к Вам такой вопрос: как сделать так, чтобы программа отлавливала нажатия всех клавиш в системе, плюс записывала в каком окне на какую кнопку нажали? Заранее спасибо....

Вопрос № 26.816
Здравствуйте, у меня к Вам такой вопрос: как сделать так, чтобы программа отлавливала нажатия всех клавиш в системе, плюс записывала в каком окне на какую кнопку нажали? Заранее спасибо.
Отправлен: 23.09.2005, 15:07
Вопрос задал: Nik890 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Denisss
Здравствуйте, Nik890!
Однозначно: ставить низкоуровневый Hook на нажатие клавиш (WH_KEYBOARD_LL = 13).
Для определения того, в каком окне была нажата та или иная клавиша, можно с помощью GetForegroundWindow, а затем GetWindowText.

Пример прикрепляю в виде файла (т.к. сложно его в одном окне вывести).

PS
Пример недоработан, но он показывает основное направление.
Ответ отправил: Denisss (статус: Практикант)
Отправлен: 23.09.2005, 16:58

Отвечает: sir henry
Здравствуйте, Nik890!
В приложении прмиер для этого дела - DLL'ка, только без окон.

Приложение:

Ответ отправил: sir henry (статус: Профессор)
Отправлен: 23.09.2005, 20:45

Отвечает: Romodos
Здравствуйте, Nik890!
Как я понял, вы пишите клавиатурный шпион
Я тоже сеёчас это делаю
Это надо делать с помощью хуков, этот вопрос уже обсуждался здесь, поищите на портале или в Windows SDK Help (она есть в Delphi Help)
Фукнкция SetWindowsHookEx
Как узнать, в каком окне его нажали - надо вызвать GetActiveWindow - Получишь хендл окна, узнать его заголовок можно функцией GetWindowText.

---------
FAQ me off!
Ответ отправил: Romodos (статус: 8-ой класс)
Отправлен: 27.09.2005, 18:03


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное