第4章钩子函数和窗口子类化 联系客服

发布时间 : 星期三 文章第4章钩子函数和窗口子类化更新完毕开始阅读a478eed3240c844769eaee1b

wc.lpfnWndProc=(WNDPROC)WndProc; wc.cbClsExtra=0; wc.cbWndExtra=0;

wc.hInstance=hInstance;

wc.hIcon=LoadIcon((HINSTANCE)NULL,IDI_APPLICATION); wc.hCursor=LoadCursor((HINSTANCE)NULL,IDC_ARROW);

wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName=\wc.lpszClassName=\if(!RegisterClass(&wc)) returnFALSE; /*创建主窗口*/

hMainWin=CreateWindow(\\

WS_OVERLAPPEDWINDOW|WS_MAXIMIZE,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,(HWND) NULL,(HMENU)NULL,hInst,(LPVOID)NULL); if(!hMainWin) returnFALSE;

ShowWindow(hMainWin,Show); UpdateWindow(hMainWin);

while(GetMessage(&msg,(HWND)NULL,0,0)){ TranslateMessage(&msg); DispatchMessage(&msg); }

SIShutdown();

returnmsg.wParam; }

4.6小结

本章主要介绍钩子函数的基本概念以及它的应用,最后结合钩子函数和窗口子类 化,介绍了进程代码注入的另外两种方法:钩子函数和Shell进程注入。 4.7思考题

(1)为什么在Win32环境下对另外一个进程的窗口直接实现窗口子类化往往不会 成功?

(2)设想对InternetExplorer浏览主窗口进行窗口子类化的方法有哪些? 4.8练习题

(1)编写一个钩子函数动态链接库,屏蔽Windows系统热键。

(2)使用WH_JOURNALPLAYBACK和WH_JOURNALRECORD钩子,编写一个 记录并回放程序按键的钩子动态链接库。