1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203

Отслеживание нажатий на клавиатуру

16.09.2011, 23:09. Показов 2531. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди! Прорыл весь список АПИ-шок, но не нашел. Возможно я чтото пропустил, но к сожалению проблему решить не удалось.

Ближе к делу...
Припустим есть моя прога, она свернута и пользователь работает с другой программой. Как отслежовать каждое нажатие на клавиатуру, и так, чтобы можно была к тому же витащить код этой клавиши...

И как тоже самое сделать с мышью???

Заранее спасибо!!! Стас
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.09.2011, 23:09
Ответы с готовыми решениями:

Отслеживание нажатий кнопок мыши
Доброго времени суток, форумчане. помогите разобраться на конкретном примере с нажатиями кнопок мыши. интересует нажатия когда окно...

Отслеживание и подсчет правильных и неправильных нажатий клавиш
Приветствую всех, кто решил откликнуться! Ситуация такая, есть текст в текстовом документе, он выводится в Label в формате бегущей строки....

Считывание нажатий на клавиатуру
Как узнать последнюю нажатую клавишу(или сочетание клавиш) вне приложения?Заранее спасибо) Дублирование тем запрещено правилами форума...

10
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203
17.09.2011, 02:24  [ТС]
Плиззззз!!! Прошу помощи!!!! Откликнитесь кто-нибудь!!!
0
Messir
17.09.2011, 03:53
Трояна пишешь?

см. SetWindowsHookEx
WH_KEYBOARD, WH_MOUSE
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203
17.09.2011, 03:59  [ТС]
НИФИГА!!! Я на пакость не иду, людям только хорошие проги пишу
0
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203
17.09.2011, 04:02  [ТС]
Чегото я недопонял... и что дальше с
Visual Basic
1
Public Declare Function SetWindowsHookEx Lib 'user32' Alias 'SetWindowsHookExA' (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
ДЕЛАТЬ???
0
Messir
17.09.2011, 09:41
Ну ты описание читал?
что конкретно там не понял?

в idHook передаешь тип хука (в твоем случае - WH_MOUSE или WH_KEYBOARD),
в lpfn - адрес процедуры, в которую будут приходить уведомления
в hmod - hInstance длл-ки, в которой описана указанная процедура приема уведомлений,
в dwThreadId - id потока, для которого поставлен хук (если 0 - то для всех)

если тебе нужно ловить события от всех приложений, то процедуру необходимо вынести в длл-ку.
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
17.09.2011, 21:25
Хук на мышь
Множественный сабклассер
Системный хук ни мышку и клавиатуру
dll, предназначенную для установки хука на клавиатуру
Глобальный хук на мышь и клавиатуру

http://vbrussian.com/SearchResult.asp?What=%F5%F3%EA&Where=Co ntrols
0
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203
18.09.2011, 23:56  [ТС]
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Option Explicit
 
Private Const WH_MOUSE = 7
Private Const WH_KEYBOARD = 2
 
Private Declare Function LoadLibrary Lib 'kernel32' Alias 'LoadLibraryA' (ByVal lpLibFileName As String) As Long
Private Declare Function FreeLibrary Lib 'kernel32' (ByVal hLibModule As Long) As Long
Private Declare Function GetProcAddress Lib 'kernel32' (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function SetWindowsHookEx Lib 'user32' Alias 'SetWindowsHookExA' (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib 'user32' (ByVal hHook As Long) As Long
 
Private hLib As Long, hProc As Long, hHook As Long
 
Private Sub Form_Load()
Dim lretval As Long
hLib = LoadLibrary('D:MyDll1.dll') 'Ну адресс ДЛЛ - ки
hProc = GetProcAddress(hLib, 'HookIn') 
lretval = SetWindowsHookEx(WH_MOUSE, hProc, hLib, 0)
End Sub
Только почемуто hProc всеравно равен 0. И нифига не выходит.
Слушай, я в ДЛЛ - ках плохо разбираюсь. Возможно я неправильно процедуру создал??? Ну все вродебы пробовал, но не выходит!!!
В учебнике понятное дело об этом нифига не сказано.
Скачал с VBRussian.com примеры по этому поводу (Спасибо Алексею за совет), но из них у меня запахал только пример по хуку для мышки (MiceHook), и к тому же весь код запихнут в ДЛЛ - ку. Мне не нужна готовая ДЛЛ - ка. Я хочу знать, как это самому сделать.
Слушай, Messir, не бросай в таком положении! Помоги пожалуйста!
Если можно, то скинь код.

Спасибо!!! С уважением Стас
0
Messir
19.09.2011, 15:14
Если никто не сделает этого раньше, то скину. Когда доберусь до компа.
А то сейчас наблюдается маленькая запарка и не до того чуток...
Comanche
19.09.2011, 19:56
На mentalis.org (или allapi.net) есть всякие там dssubcls.dll, dsmouse.dll, dskbhook.dll - стопудово работают. Идут с readme и с примерами на ВБ. Ищи.
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203
19.09.2011, 21:18  [ТС]
Спасибо большое, я помотрю.
Messir, когда сможеш, то помоги, всетаки я хочу разобратся в этой проблемме.

Стас
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.09.2011, 21:18
Помогаю со студенческими работами здесь

Отслеживание нажатий комбинаций клавиш
Здравстуйте. Подскажите пожалуйста как можно отследить нажатие клавиш fn + (f1, .. ,f12) с помощью C#. KeyPress event не видит комбинаций...

Отслеживание нажатий на экран (android)
Как отслеживать нажатие на экран и получить координаты этого нажатия. Программирую под андроид

Отслеживание нажатий по активным элементам
Добрый день. Ситуация такая. Программа забита плеерами(axShockwaveFlash1).Забита, это значит, что при старте программы создается 25...

ATtiny2313. AVRAssembler9. Отслеживание нажатий на кнопки
ПОМОГИТЕ, не могу допилить прогу , делаю счётчик на attiny2313, программа работает считает цифры от 1 до 9999, выводит на 7-ми сегментную...

Отслеживание нажатий клавиш внутри процедуры/цикла
Такие дела, недавно начал изучать VB и появилась проблема. Идет выполнение цикла внутри процедуры с использованием глобальной переменной....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru