SetWindowsHookEx & WM_CANCELJOURNAL

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

SetWindowsHookEx & WM_CANCELJOURNAL

Сообщение X-BOND » 21.09.2005 (Ср) 13:51

Подскажите, где и как отловить сообщение WM_CANCELJOURNAL ?
Насколько я знаю это сообщение посылается, когда "журнальный" хук прерывается (в частности нажаты Ctrl+Alt+Del, Ctrl+Esc и т.п. )

?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 21.09.2005 (Ср) 14:14

Просабклассить окно?..
Лучший способ понять что-то самому — объяснить это другому.

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 21.09.2005 (Ср) 14:19

Дык, пробовал не катит. Сообщение идет с hWnd = Null

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Сообщение JohnK » 21.09.2005 (Ср) 14:57

Вообще если подойти к этому делу серьезно, то нужно писать DLL на Сишке или масме.... А с VB перехватами - изврат... На опыте знаю.
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 21.09.2005 (Ср) 15:14

Открою маленкую тайну, программку теперь я пишу на PB. В связи с низкой популярностью соответствующего раздела, решил задать вопрос здесь.

И у меня перехватывает мышь глобально и без всяких библиотек, с помощью все того-же "журнального" хука.

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Сообщение JohnK » 21.09.2005 (Ср) 16:47

Ну как знаешь...
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 21.09.2005 (Ср) 17:41

Разобрался, работает.
Типа сабклассинг, но всего приложения:

Код: Выделить всё
DO WHILE GetMessage(MSG, BYVAL %NULL, 0, 0)
   
    IF ghHook AND MSG.Message = %WM_CANCELJOURNAL THEN
        CALL UnhookWindowsHookEx(ghHook)
        ghHook = SetWindowsHookEx(0, CODEPTR(GlobalHookProc), APP.hInstance, 0)
    END IF

    CALL TranslateMessage (MSG)
    CALL DispatchMessage (MSG)

LOOP


Спасибо этой статье


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

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

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

    TopList