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

Вопросик для тех кто хорошо шарит в Hook-ах ( ловушках)!

31.03.2008, 15:11. Показов 782. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу сделать ActiveX Control для создания хуков. Что то типа MS Subclass.ocx он не подходит тем что его нельзя использовать для созда ния своих контролов. Дак вот пытаюсь сделать свой ActiveX Control но почемуто установленный хук не вызвает процедуру обработки сообшения.
Кто знат что тут не в порядке подскажите пожалуйста.

Вот код контрола:

'Default Property Values:
Const m_def_Hw = 0

Const m_def_Messages = 0
'Property Variables:
Dim m_Hw As Variant

Dim m_Messages As Variant
'Event Declarations:
Event RunHookProc()
Dim hAppHook


'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!
'MemberInfo=14
Public Function SetHook() As Boolean
If hWnd <> 0 And Messages <> 0 And hAppHook = 0 Then
hAppHook = SetWindowsHookEx(Messages, AddressOf HookProc, Hw, 0)
SetHook = True

Debug.Print 'SETHOOKOK'
End If
End Function


'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!
'MemberInfo=14,0,0,0
Public Property Get Messages() As Variant
Messages = m_Messages
End Property

Public Property Let Messages(ByVal New_Messages As Variant)
m_Messages = New_Messages
PropertyChanged 'Messages'
End Property

'Initialize Properties for User Control
Private Sub UserControl_InitProperties()

m_Messages = m_def_Messages
m_Hw = m_def_Hw
End Sub

'Load property values from storage
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)


m_Messages = PropBag.ReadProperty('Messages', m_def_Messages)
m_Hw = PropBag.ReadProperty('Hw', m_def_Hw)
End Sub

Private Sub UserControl_Terminate()
If hAppHook Then
UnhookWindowsHookEx hAppHook
End If
End Sub

'Write property values to storage
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)

Call PropBag.WriteProperty('Messages', m_Messages, m_def_Messages)
Call PropBag.WriteProperty('Hw', m_Hw, m_def_Hw)
End Sub

'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!
'MemberInfo=14,0,0,0
Public Property Get Hw() As Variant
Hw = m_Hw
End Property

Public Property Let Hw(ByVal New_Hw As Variant)
m_Hw = New_Hw
PropertyChanged 'Hw'
End Property

Вот код модуля:

Public Declare Function SetWindowsHookEx Lib 'user32' Alias 'SetWindowsHookExA' (ByVal idHook As Long, ByVal lpfn As Any, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib 'user32' (ByVal hHook As Long) As Long
Public Declare Function CallNextHookEx Lib 'user32' (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const WM_MOUSEWHEEL = &H20A
Public Function HookProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long ' &iuml;&eth;&icirc;&ouml;&aring;&auml;&oa cute;&eth;&agrave; &icirc;&aacute;&eth;&agrave;&aacute;&ici rc;&ograve;&ecirc;&egrave; &ecirc;&icirc;&ograve;&icirc;&eth;&agrav e;&yuml; &acirc;&ucirc;&ccedil;&acirc;&agrave;&ar ing;&ograve;&ntilde;&yuml; &ntilde; &euml;&icirc;&acirc;&oacute;&oslash;&eci rc;&egrave;
Debug.Print 'ppp'
HookProc = CallNextHookEx(hAppHook, nCode, wParam, lParam)
HooKControl.RaiseEvent RunHookProc
End Function
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.03.2008, 15:11
Ответы с готовыми решениями:

Робота с функциями (консольное приложение), для тех кто шарит в этом
Создать консольную программу, в которой осуществляется вычисление значений функции на определенном интервале. У программе надо обозначить...

Для тех кто хорошо разбирается в модулях
Вот я выложил модуль от PascalABC, Кто может переделайте его пожалуйста на модуль для PascalABC.NET. unit Ukeyb; interface uses...

Для тех кто хорошо разбирается в базах данных
У меня были задачи: 1 Привести отношение к 3 нормальной форме; 2 Создать базу данных.Пожалуйста если кто понимает проверьте и напишите...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.03.2008, 15:11
Помогаю со студенческими работами здесь

Кто-нить хорошо шарит в ЗЛП? необходим совет какой из методов использовать в дипломе
скину потом в личку описание к задаче

Кто нибудь шарит в кумире? Для паскаля уже написан код
Написать программу, которая вычисляет значение функции y=|x-1| + 0,5 на интервале (-5; 15) с шагом 1 На паскале выглядит так: var...

Люди, кто шарит в этих системах счисления и прочем, поможет кто?
Люди, кто шарит в этих системах счисления и прочем?

кто шарит?
кто может помочь, если есть время и желание помочь. Нужно сделать прогу где по форме будет двигаться какой-то объект и будет отбиваться от...

Кто шарит по схемотехнике
Народ вообщем есть 2 pcie адаптера на одной и тойже wifi карте (intel wireless 9260), но на одном адаптере есть конденсаторы и больше смд...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru