Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/12: Рейтинг темы: голосов - 12, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 203

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

16.09.2011, 23:09. Показов 2543. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru