Главная страница
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.012 c
15-1195835332
Piter
2007-11-23 19:28
2007.12.23
Зачем InnoSetup требует права администратора?


3-1187260709
Tonich
2007-08-16 14:38
2007.12.23
order by


2-1195885117
Alex_C
2007-11-24 09:18
2007.12.23
Не работает программа под Vista


2-1196059598
nika
2007-11-26 09:46
2007.12.23
createprocess


2-1196079596
Kolan
2007-11-26 15:19
2007.12.23
А как закрыть свою программу?