开发中,需要监控所有加载的dll,因此想对LoadLibrary和AfxLoadLibrary挂钩子来达到目的。通过调用API SetWindowsHookEx()的方法,可以成功的对LoadLibrary()挂钩子,但却无法对AfxLoadLibrary()生效。
我看了一下AfxLoadLibrary()的实现,里面实际上也就是调用LoadLibrary()啊,为什么挂的钩子就不能对AfxLoadLibrary()生效呢?还是说要对AfxLoadLibrary()这个函数特殊处理才能挂上钩子?请各位大侠指教,多谢。
HINSTANCE AFXAPI AfxLoadLibrary(LPCTSTR lpszModuleName)
{
ASSERT(lpszModuleName != NULL);
AfxLockGlobals(CRIT_LOCKSHARED);
HINSTANCE hInstLib = LoadLibrary(lpszModuleName);
AfxUnlockGlobals(CRIT_LOCKSHARED);
return hInstLib;
}