Главная страница
    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.041 c
2-1196185522
Свой
2007-11-27 20:45
2007.12.23
Ttableи довабление записей


15-1195680552
Суслик
2007-11-22 00:29
2007.12.23
Виртуальная конференция от CodeGear!!!


15-1195736888
Denis__
2007-11-22 16:08
2007.12.23
Лукьяненко


6-1176463972
Серге И
2007-04-13 15:32
2007.12.23
Как получить список административных ресурсов компьютера в сети.


2-1195933899
riko
2007-11-24 22:51
2007.12.23
Клиент сервер





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский