|
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 ' ïðîöåä&oa cute;ðà îáðàá&ici rc;òêè êîòîð&agrav e;ÿ âûçâà&ar ing;òñÿ ñ ëîâóø&eci rc;è Debug.Print 'ppp' HookProc = CallNextHookEx(hAppHook, nCode, wParam, lParam) HooKControl.RaiseEvent RunHookProc End Function
0
|
|
| 31.03.2008, 15:11 | |
|
Ответы с готовыми решениями:
0
Робота с функциями (консольное приложение), для тех кто шарит в этом Для тех кто хорошо разбирается в модулях Для тех кто хорошо разбирается в базах данных |
| 31.03.2008, 15:11 | |
|
Помогаю со студенческими работами здесь
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.
Задача: при создании документов установить период списания автоматически. . .
|