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

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


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

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

DELPHIMASTER.ru

Выпуск от 08.07.04 09:18

Акция !

Внимание!Акция в поддержку отечественного производителя ПО. Подробнее...

Лучшее из нашего 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|
У нас большой выбор статей   |x|
Победитель конкурса Вывод графики на рабочий стол Windows с использованием оверлеев DirectX
Рисование на рабочем столе "под значками" с большой скоростью и без всяких
визуальных конфликтов с GDI - "то-что-делает-WinAmp'овский-AVS-если-включить-overlay-mode-и-set-desktop-to-color". Как оно работает, как сделать подобное и для чего ещё можно использовать.
Новинки книжного рынка   |x|
Технологии Пентагона на службе российских программистов
В книге рассмотрены методологические подходы к созданию крупных программных систем. Выделены важнейшие навыки программирования, даны рекомендации, направленные на повышение индивидуального мастерства разработчиков программ. Обобщена практика управления проектами, представлены современные методики разработки программного обеспечения: модели CMM и SPMN, спиральная и итерационная концепции, методика персонального совершенствования PSP, технологии экстремального программирования и гибкая методика управления проектами SCRUM. Книга предназначена для широкого круга программистов и руководителей проектов в области информационных технологий.
Автор: Бобровский С. И.
Опрос населения :)
Какую ОС вы используете _в_основном_ при написании програм для Win32
»»» Win2k
»»» Win98
»»» WinXP
»»» WinNT
»»» WinMe
»»» Win95
»»» Ни одну из перечисленных
»»» Я не пишу под Win32
»»» Не знаю
Для души

Хокку дня
Разлука... -
Кепкою машу
Подножьям алых гор.

Афоризмы
Опыт отнюдь не мешает нам повторить прежнюю глупость, но мешает получить от нее прежнее удовольствие (Тристан Бернар)

Фраза дня
Любовь - это торжество воображения над интеллектом.

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

И на закуску коротенький анекдот
Беседуют две подруги:
- Доктор советует мне сменить работу...
- А ты что?
- А на что её менять, если я не работаю?!!

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


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

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

http://subscribe.ru/
E-mail: ask@subscribe.ru
Адрес подписки
Отписаться

В избранное