Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Hook


Dark ©   (2007-11-26 23:27:00) 

Привижите пожалуйста пример кода для перехвата клавиши нажатой на клавиатуре! Или обьясните, плз, как называется переменная в которой Windows хранит нажатую клавишу.


Denis__   (2007-11-30 13:15:00) [1]


> Dark ©   (30.11.07 12:55) [15]

А ты не знал, что на сайте есть статьи, которые тоже написаны хорошими людьми?


Dark   (2007-11-30 12:55:00) [2]


> Джо ©


> Amoeba ©

Я знал, что тут есть хорошие люди! Спасибо.


Amoeba   (2007-11-29 15:09:00) [3]

Hooks - аспекты реализации.
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=548
или здесь
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1196108827&n=18


Джо   (2007-11-29 15:02:00) [4]

Что же касается строки
if TMsg(Pointer(lParam)^).message = WM_RBUTTONDOWN
То это просто проверка кода нажатой клавиши, сохраненной в одном из полей структуры TMsg. Причем структура передается по указателю, представленному значением DWord, поэтому его приходится сначала привести к указателю, потом его разыменовать и уже потом привести к TMsg.
Никакого отношения к «перехвату» не имеет, это банальный букварь.


Джо   (2007-11-29 14:59:00) [5]

> [11] Dark ©   (29.11.07 11:39)
>
> >
> > Без минимального багажа знаний и в такие дебри?
> > Не жди помощи...
>
> Ты так добр

А товарищ совершенно прав.
Нельзя разбирать стилистические красоты Набокова, не выучив букварь.


Dark   (2007-11-29 11:39:00) [6]


>
> Без минимального багажа знаний и в такие дебри?
> Не жди помощи...

Ты так добр


Johnmen   (2007-11-28 21:45:00) [7]


>  так в системе

В какой системе?


turbouser   (2007-11-28 21:43:00) [8]


> Dark ©   (28.11.07 21:24) [8]

Без минимального багажа знаний и в такие дебри?
Не жди помощи...


Dark   (2007-11-28 21:24:00) [9]

Ну это понятно)) меня интересует Pointer, так в системе называется мышь? lparam - ? TMsg - ?


turbouser   (2007-11-28 21:01:00) [10]


> Dark ©   (28.11.07 20:50) [6]

RBUTTON - правая кнопка мыши.


Dark   (2007-11-28 20:50:00) [11]

if TMsg(Pointer(lParam)^).message = WM_RBUTTONDOWN then
Прокомментируйте эту строку. Я так понимаю этим способом можно перехватывать нажатия?


Dark   (2007-11-27 16:58:00) [12]

Спасибо


Джо   (2007-11-27 02:21:00) [13]

А чтобы получить текущее состояние клавиш воспользуйтесь GetAsyncKeyState.


Германн   (2007-11-27 01:28:00) [14]


> Или обьясните, плз, как называется переменная в которой
> Windows хранит нажатую клавишу.

Она никак не называется ибо такой переменной нет вообще.


Джо   (2007-11-26 23:38:00) [15]

SetWindowsHookEx и читать все Remarks.


Dark   (2007-11-26 23:32:00) [16]

Ну или как записать нажатую клавишу в переменную, даже если моё приложение неактивно? Думаю, что через dll, но представляю это смутно


Наверх

Титульная страница Поиск, карта сайта Написать письмо