Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.23;
Скачать: CL | DM;

Вниз

Hook   Найти похожие ветки 

 
Dark ©   (2007-11-26 23:27) [0]

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


 
Dark ©   (2007-11-26 23:32) [1]

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


 
Джо ©   (2007-11-26 23:38) [2]

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


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


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

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


 
Джо ©   (2007-11-27 02:21) [4]

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


 
Dark ©   (2007-11-27 16:58) [5]

Спасибо


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

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


 
turbouser ©   (2007-11-28 21:01) [7]


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

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


 
Dark ©   (2007-11-28 21:24) [8]

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


 
turbouser ©   (2007-11-28 21:43) [9]


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

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


 
Johnmen ©   (2007-11-28 21:45) [10]


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

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


 
Dark ©   (2007-11-29 11:39) [11]


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

Ты так добр


 
Джо ©   (2007-11-29 14:59) [12]

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

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


 
Джо ©   (2007-11-29 15:02) [13]

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


 
Amoeba ©   (2007-11-29 15:09) [14]

Hooks - аспекты реализации.
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=548
или здесь
http://delphimaster.net/view/2-1196108827/


 
Dark ©   (2007-11-30 12:55) [15]


> Джо ©


> Amoeba ©

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


 
Denis__ ©   (2007-11-30 13:15) [16]


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

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



Страницы: 1 вся ветка

Текущий архив: 2007.12.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.019 c
15-1196066490
AIK
2007-11-26 11:41
2007.12.23
Офигели блин


4-1176447569
Dmitry_177
2007-04-13 10:59
2007.12.23
Перевести SYSTEMTIME в строку


3-1187104888
SHTrassEr
2007-08-14 19:21
2007.12.23
Access, ADO и проблемы доступа к базе


3-1182843398
DelphiN!
2007-06-26 11:36
2007.12.23
Округление даты-время в дату в SQL


2-1195902105
ice321i
2007-11-24 14:01
2007.12.23
Аудит в InterBase 6.5