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

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


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

Ежедневная рассылка сайта Мастера DELPHI

DELPHIMASTER.ru

Выпуск от 11.02.04 16:38

Кое-что из нашей кладовки   |x|
Лучшее из нашего FAQ   |x|
Обработка событий от клавиатуры
I. Эмуляция нажатия клавиши.
Внутри приложения это выполняется достаточно просто с помощью вызова функции Windows API SendMessage() (можно воспользоваться и методом Perform того объекта (или формы), кому посылается сообщение о нажатой клавише).
Код
Memo1.Perform(WM_CHAR, Ord('A'), 0);
или
SendMessage(Memo1.Handle, WM_CHAR, Ord('A'), 0);
приведет к печати символа "A" в объекте Memo1.

II. Перехват нажатий клавиши внутри приложения.
Задача решается очень просто. Можно у формы установить свойство KeyPreview в True и обрабатывать событие OnKeyPress. Второй способ - перехватывать событие OnMessage для объекта Application.

III. Перехват нажатия клавиши в Windows.
Существуют приложения, которым необходимо перехватывать все нажатия клавиш в Windows, даже если в данный момент активно другое приложение. Это может быть, например, программа,
переключающая раскладку клавиатуры, резидентный словарь или программа, выполняющая иные действия по нажатию "горячей" комбинации клавиш. Перехват всех событий в Windows (в том числе и событий от клавиатуры) выполняется с помощью вызова функции SetWindowsHook(). Данная функция регистрирует в системе Windows ловушку (hook) для определенного типа событий/сообщений. Ловушка - это пользовательская процедура, которая будет обрабатывать указанное событие. Основное здесь то, что эта процедура должна всегда присутствовать в памяти Windows. Поэтому ловушку помещают в DLL и загружают эту DLL из программы. Пока хоть одна программа использует DLL, та не может быть выгружена из памяти.

Пример работающей программы можно скачать здесь:
http://delphi.mastak.ru/download/HookDLL.zip
Он отлавливает нажатия клавиш во всех приложениях и выводит их в окно основной программы, которая ставит хук.
(За программу отдельное спасибо "Raptor" и Юрию Зотову)

»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
  • Люди, помогите, какой-то бред со СТРОКАМИ!!!
    Господа, я не понемаю что я натвоил, но у меня выходит следующее: Ниже приведено действие на нажатие Button2, должно ...
  • Как узнать ID процесса по его handle?
    Мастера, подскажите, пожалуйста, как получить ID просесса, если у нас есть его handle?
  • OpenGL
    Можно ли рисовать через Delphi в режиме OpenGL?? Или может можно хотябы использовать объекты 3D ... Если можно то ...
  • Game Maker
    Можно соединить Game Maker c Delphi6?
  • Тормаза
    Набросал на вторую форму 161 BitBtn-ов она так стала тормазить при перетаскивании А в VCL столько же - нормально ...
  • Ввод данных в поле типа TIME FB 1.5
    Здравствуйте ! Прошу у Вас помощи вот в какой проблеме: Создана база в 3 диалекте FB 1.5, создана таблица Tab1 с ...
  • User32.dll и DCOM
    Как обяснить, что некоторые функции вызываемые СОМ сервером из User32.dll не работают?
У нас большой выбор статей   |x|
Серия статей. Kylix Tutorial. 4. Использование однонаправленных наборов данных.
Однонаправленные наборы данных предоставляют механизм доступа для чтения данных из таблиц сервера БД с помощью SQL команд. Они созданы для быстрого и "легковесного" доступа к информации сервера БД с минимальной загрузкой последнего...
Новинки книжного рынка   |x|
Экстремальное программирование: планирование. Библиотека программиста
Эта книга харизматических лидеров экстремального программирования — о том, как планировать проекты разработки программного обеспечения по технологии XP. В основном она предназначена руководителям — тем, кто должен составлять план работ, а потом следить, чтобы он соответствовал действительности. Она будет полезна и программистам с заказчиками, поскольку это две основные роли в процессе планирования и разработки ПО.
Автор: Kent Beck, Martin Fowler
Другие сайты о DELPHI   |x|
VoidSoft
Свежие новости мира Borland (и не только), авторские программы, статьи, компоненты, ссылки. Если у Вас есть вопросы по программированию - добро пожаловать на наш форум
"Дельфинарий". Вы также ...

» Оценка сайта: 4
Опрос населения :)
Какой сайт по Delphi лучший?
»»» Королевство Дельфи
»»» Этот сайт
»»» Дельфи. Вокруг да около
»»» Другой
»»» Чем больше, тем лучше!
Для души

Хокку дня
матричный принтер стрекочет
пронзительно и отчаянно
он обречен

Афоризмы
Справедливость - это когда нам можно делать все, что угодно....

Фраза дня
Любовь за деньги обходится дешевле.

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Огайо (США) особым законом запрещено предлагать рыбам спиртные напитки.
В Германии по закону подушка может считаться "пассивным" оружием .

И на закуску коротенький анекдот
Заключённый рассуждает: "Какая это все-таки странная вещь - закон: вот меня посадили за то, что я украл буханку хлеба - и теперь им приходится выдавать мне по буханке в день бесплатно".

Фотоприколы.
Начните день с хорошего настроения!
http://www.delphimaster.ru/cgi-bin/prikol.pl?id=1302


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (merlin@delphimaster.ru)

Добро пожаловать на сайт -= Мастера DELPHI =- 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное