Глобальное отслеживание нажатий клавиатуры(клав. шпион.)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Netguard
Постоялец
Постоялец
 
Сообщения: 489
Зарегистрирован: 26.07.2002 (Пт) 13:31
Откуда: Russia

Глобальное отслеживание нажатий клавиатуры(клав. шпион.)

Сообщение Netguard » 22.02.2004 (Вс) 14:31

Мне надо отслеживать нажатие клавиатуры. Но в инете везде примеры отслеживают нажатие клавиатуры только на своем приложении, а мне надо чтоб даже если фокус не на моем приложение а на чужем то тоже отслеживало нажатие. Подскажите где можно скачать исходничек. Очень срочно надо.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 22.02.2004 (Вс) 15:40

Могу сразу посоветовать алгоритм:

есть функция GetAsyncKeyState, вот её и используй. Объявление:
Код: Выделить всё
Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer

Передавай ей все коды клавиш/символов: GetAsyncKeyState(vbKeyA), например.
Возвращает она "нажатость" клавиши: 0 - не нажата, <0 - нажата.
Сделай процедуру для определения состояния всех клавиш и запускай её по таймеру с интервалом ~100 мс.

Кстати, так отслеживаются абсолютно все нажатия клавиш, независимо от активного окна. Если иногда будет пропускать некоторые нажатия, можно уменьшить период (интервал) таймера до 50 мс.

MOV
Постоялец
Постоялец
 
Сообщения: 414
Зарегистрирован: 13.03.2004 (Сб) 15:13
Откуда: Санкт-Петербург

Сообщение MOV » 13.03.2004 (Сб) 16:41

Да, но только как вести лог, ведь эта апишка возвращает только латинкские буквы :). А как насчет русских, например :). Есть вариант через DirectX, но в XP он тоже будет возвращать только англ. названия клавиш, а создавать свою таблицу соответствия.... :) да еще на всех языках :)).... это очень занимательно.
Ну или я чего-то не понимаю :-\...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 4

    TopList  
cron