Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.094 c
15-1195995531
Умка
2007-11-25 15:58
2007.12.23
МФУ


2-1196273108
Kaliostro
2007-11-28 21:05
2007.12.23
Доступ к Excel через ADO


2-1196208395
Кевларвестов Семен
2007-11-28 03:06
2007.12.23
Чтение данных с поврежденного CD


15-1195550328
misha_gr
2007-11-20 12:18
2007.12.23
Borland C++ Builder 5.0 download


6-1176119066
Мистик
2007-04-09 15:44
2007.12.23
Indy FTP!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский