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