Re: запуск таймера из хуковой процедуры
От: SergH Россия  
Дата: 17.03.02 21:59
Оценка:
Здравствуйте Tagus, Вы писали:

T>Здравствуйте уважаемый All.


T>Это снова я и снова со странным вопросом .


T>Имеется DLL, в которой имеется хуковая процедура,

T>которая отлавливает мышиные сообщения. Процедура
T>нормально регистрируется с помощью вызова
T>hHook = SetWindowsHookEx (WH_MOUSE, HookProc, hInstDLL, 0)
T>и нормально разрегистрируется с помощью вызова
T>UnhookWindowsHookEx (hHook). И все это нормально
T>работало, но возникла потребность отсчитать заданное
T>время от последнего мышиного события. Соответственно,
T>в HookProc был добавлен в числе прочего такой вызов:
T>SetTimer (NULL, 0, TIMEOUT, TimerProc)
T>и вроде-бы тоже работает, НО при попытке
T>снять хук вызовом UnhookWindowsHookEx имеем
T>страшное сообщение о том, что программа выполнила
T>некорректную операцию и про сбой при обращении к
T>странице памяти. В чем может быть дело? Если нет
T>мыслей по поводу возможных причин — хоть киньте пример
T>кода, если приходилось делать вызов таймера в
T>хуковой процедуре в DLL.

T>Помогите люди добрые, сами мы не местные...


T>Спасибо.


Я думаю, проблема в том, что происходит попытка вызвать TimerProc, когда DLL уже выгружена. Почему не помогает KillTimer не знаю. Можно поместить TimerProc в другую dll, загружать её при загрузке в новый процесс, а потом не выгружать.
Делай что должно, и будь что будет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.