Здравствуйте _Cancel, Вы писали:
C>
C>C>LRESULT CALLBACK
C>__JournalPlayBack(int code, WPARAM wParam, LPARAM lParam)
C>{
C> switch(code)
C> {
C> case HC_SKIP:
C> item++;//глобальная переменная DWORD обнуляется при каждой установке фильтра
C> if(item >= vJrn.size())//vJrn - контейнер EVENTMSG куда были записаны сообщения
C> UnhookWindowsHookEx(hHook);
C> hHook = 0;
C> break;
C> case HC_GETNEXT:
C> vJrn[item].time = GetTickCount();
C> *((EVENTMSG*)lParam) = vJrn[item];
C> break;
C> default:
C> return CallNextHookEx(hHook, code, wParam, lParam);
C> }
C> return 0;
C>}
C>
1) Если я не глючю в конце рабочего дня в конце рабочей недели, то
hHook = 0;
должно сидеть под if-ом, чего не заметно в приведенном коде
2) Если ты вдруг пишешь для NT 3.5, то прочитай
Q124835 PRB: JournalPlayback Hook Can Cause Windows NT to Hang
В 2000-ном эта проблема исправлена
3)
Q37138 Windows Journal Hooks Source Code
Немного старенький код, но может чем-то поможет
Вот в принципе и всё, что я хотел сказать