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

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

Sniffer - Все написал, все работает, вот только.... [D6, Win95/98, WinME, NT4, Win2k, WinXP]


FoXx ©   (2003-01-05 17:12:00) 

Обьясните пожалуйста мне такому кривому, почему при установке ловушки на WH_KEYBOARD, в сниффер в итоге получаю UpCase нажатой клавиши? почему, я уже все перепробовал, ничего не помогает! Да и в том примере который на сайте, ну статья по установке хуков, там есть екзампл, в нем 3 экземпла, а в 3-ем экземпле как-раз и лежит сниффер на подобие моего :) и там тоже тайкойже глюк, что не нажмешь получишь UpCase(того что нажал)


unnamed2   (2003-01-06 03:21:00) [1]

Все, всем спасибо, сделал :)
Поставил проверку на Shift и Caps Lock в самой длл!


FoXx   (2003-01-05 23:29:00) [2]

2Colbat: КАК??? ЛОГИЧНО??? :)
2Morfein: Ну так я ее и использую! И все равно баста!


Morfein   (2003-01-05 23:24:00) [3]

Есть такая функция, как GetKeyNameText();


Cobalt   (2003-01-05 23:04:00) [4]

Следишь за Шифтом.
Логично?


FoXx   (2003-01-05 22:27:00) [5]

А если юзер не капс лок, а просто через шифт, что тогда, как это отловить?


Song   (2003-01-05 22:25:00) [6]

Есть, я уже сказал какой.


FoXx   (2003-01-05 22:13:00) [7]

Спасибо, буду пробовать!
А все-таки нет способа исправить текущий код, т.е. с использованием кейбоарда?


Song   (2003-01-05 22:11:00) [8]

Придётся, но он полегче для понимания.


FoXx   (2003-01-05 22:07:00) [9]

Т.е как японял мне достаточно заметь ловушку WH_KEYBOARD , на WH_GETMESSAGE+WM_CHAR, и все?, или там еще код переписывть предеться?


Song   (2003-01-05 22:02:00) [10]

Ну так вручную надо.
Определяешь, если капс лок включен значит конвертируешь в маленькие, попутно смотря текущую раскладку клавиатуры (если надо).
Если не хочешь такой фигни, тогда надо WH_GETMESSAGE+WM_CHAR. WM_CHAR возвращает не сам факт нажатия как WH_KEYBOARD, а сам нажатый символ.


FoXx   (2003-01-05 21:57:00) [11]

Если я нажимаю "а" - хочу получить "a"
Если "A" - то "А"
Помоему все логично :)


Song   (2003-01-05 21:54:00) [12]

А что именно ты получить-то хочешь?


FoXx   (2003-01-05 20:00:00) [13]

Блина, сроки поджимают :((( Ну неужели никто не знает?


Наверх

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