【C】 全局注入式钩子示例
#include "windows.h"
HHOOK hHook=NULL;
HINSTANCE hMod=NULL;
void installhook(void);
LRESULT CALLBACK HookProc(int, WPARAM,LPARAM);
BOOL DllMain(HINSTANCE hModule,DWORDul_reason_for_call,LPVOID lpReserved)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
installhook();
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
UnhookWindowsHookEx(hHook);
break;
}
return TRUE;
}
LRESULT CALLBACK HookProc(int nCode,WPARAM wparam,LPARAM lparam)
{
HWND hWnd=::FindWindow("IEFrame",NULL);
SendMessage(hWnd,WM_CLOSE,0,0);
return CallNextHookEx(hHook,nCode,wparam,lparam);
}
void installhook()
{
hHook = SetWindowsHookEx(WH_SHELL,HookProc,hMod,0);
}
全局 FindWindow 结束IE进程 ······ HOOK什么的压力很大……
页:
[1]