#include MsgHook::~MsgHook() { if(!mhPrevHook)return; ::UnhookWindowsHookEx(mhPrevHook); mhPrevHook=0; } int MsgHook::entryProc(int code,WPARAM wParam,LPARAM lParam) { if(code<0)return ::CallNextHookEx(mhPrevHook,code,wParam,lParam); if(!hookProc(code,wParam,lParam))::CallNextHookEx(mhPrevHook,code,wParam,lParam); return FALSE; } // *** virtuals int MsgHook::hookProc(int /*code*/,WPARAM /*wParam*/,LPARAM /*lParam*/) { return FALSE; }