青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

小默

[zz]HOOK

鉤子函數

鉤子函數可以截獲并處理其他應用程序的消息。每當特定的消息發出,在沒有到達目的窗口前,鉤子程序就先捕獲該消息,亦即鉤子函數先得到控制權。這時鉤子函數即可以加工處理(改變)該消息,也可以不作處理而繼續傳遞該消息,還可以強制結束消息的傳遞。
鉤子的種類很多,每種鉤子可以截獲并處理相應的消息,如鍵盤鉤子可以截獲鍵盤消息,外殼鉤子可以截取、啟動和關閉應用程序的消息等
關于HOOK
Hooks
A hook is a point in the system message-handling mechanism where an application can install a subroutine to monitor the message traffic in the system and process certain types of messages before they reach the target window procedure.

安裝一個HOOK,SetWindowsHookEx
對每種類型的鉤子由系統來維護一個鉤子鏈,最近安裝的鉤子放在鏈的開始,而最先安裝的鉤子放在最后,也就是后加入的先獲得控制權
The SetWindowsHookEx function installs an application-defined hook procedure into a hook chain. You would install a hook procedure to monitor the system for certain types of events. These events are associated either with a specific thread or with all threads in the same desktop as the calling thread.
HHOOK SetWindowsHookEx(
int idHook,        // hook type.請查看MSDN獲得詳細信息
HOOKPROC lpfn,     // hook procedure
HINSTANCE hMod,    // handle to application instance
DWORD dwThreadId   // thread identifier
);

得到控制權的鉤子函數在完成對消息的處理后,如果想要該消息繼續傳遞,那么它必須調用另外一個SDK中的API函數CallNextHookEx來傳遞它。
(對一個事件處理的hook可能有多個,它們成鏈狀,使用CallNextHookEx一級一級地調用。簡單解釋過來就是“調用下一個HOOK” )
CallNextHookEx
The CallNextHookEx function passes the hook information to the next hook procedure in the current hook chain. A hook procedure can call this function either before or after processing the hook information.
LRESULT CallNextHookEx(
HHOOK hhk,      // handle to current hook
int nCode,      // hook code passed to hook procedure
WPARAM wParam, // value passed to hook procedure
LPARAM lParam   // value passed to hook procedure
);

hook處理函數
LRESULT CALLBACK HookProc(
int nCode,
WPARAM wParam,
LPARAM lParam
);

取消HOOK
UnhookWindowsHookEx
The UnhookWindowsHookEx function removes a hook procedure installed in a hook chain by the SetWindowsHookEx function.
BOOL UnhookWindowsHookEx(
HHOOK hhk   // handle to hook procedure
);

 

示例:
[code]
// 監視鼠標消息
// hook處理函數聲明
LRESULT CALLBACK MyMouseProc(int nCode, WPARAM wParam, LPARAM lParam);
static BOOL StartWatchingMouse(); // 開始監視
static void StopWatchingMouse();    // 結束
static HHOOK hHook = NULL;    //hook指針
/*======================================================
*Function:StartWatchingMouse()
*Author:wuhuiran 05-7-23
*Desc:開始監視鼠標
*Record:
--------------------------------------------------------
========================================================*/
BOOL StartWatchingMouse()
{
hHook = SetWindowHookEx(WM_MOUSE, (HOOKPROC) MyMouseProc,
   (HINSTANCE) NULL, GetCurrentThreadId());
  
if(!hHook)
{
   return FALSE;
}

return TRUE;

}

/*======================================================
*Function:StartWatchingMouse()
*Author:wuhuiran 05-7-23
*Desc:取消監視鼠標
*Record:
--------------------------------------------------------
========================================================*/
void StopWatchingMouse()
{
if(hHook)
{
   UnHookWindowHookEx(hHook);
   hHook = NULL;
}
}

/*======================================================
*Function:StartWatchingMouse()
*Author:wuhuiran 05-7-23
*Desc:HOOK處理函數
*Record:
--------------------------------------------------------
========================================================*/
LRESULT CALLBACK MyMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if(nCode < 0)
{
   return CallNextHookEx(hHook, nCode, wParam, lParam);
  
}

MOUSEHOOKSTRUCT *pMouseHookStruct;   //鼠標HOOK結構體
pMouseHookStruct = (MOUSEHOOKSTRUCT *)lParam;

POINT pt = pMouseHookStruct->pt;
//動一下鼠標就會顯示鼠標位置
CString strMsg;
strMsg.Format("x:\t%d\ny:\t%d", pt.x, pt.y);
AfxMessageBox(strMsg);

return CallNextHookEx(myHook, nCode, wParam, lParam);
}
[/code]

注意:
hook會使系統變慢,除非必要,不要頻繁使用。在不使用的時候盡快刪除
全局鉤子必須放在DLL中

只是簡單介紹了一下鉤子函數的使用方法,具體的函數介紹請參閱MSDN和其他文章。

posted on 2009-10-22 21:15 小默 閱讀(319) 評論(0)  編輯 收藏 引用 所屬分類: Security

導航

統計

留言簿(13)

隨筆分類(287)

隨筆檔案(289)

漏洞

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品国产精品国产专区不蜜| 欧美激情一区| 国产日韩精品视频一区二区三区| 欧美亚洲第一页| 国产精品免费aⅴ片在线观看| 国产精品高潮呻吟久久av无限 | 亚洲欧美成人网| 亚洲在线一区二区三区| 亚洲欧美日本国产有色| 欧美一区二区三区在线看| 久久久久久久一区| 久久视频这里只有精品| aa日韩免费精品视频一| 亚洲综合999| 久久av二区| 欧美大片免费观看| 国产精品有限公司| 激情亚洲网站| 9人人澡人人爽人人精品| 午夜在线不卡| 久久精品国内一区二区三区| 欧美 日韩 国产一区二区在线视频| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美激情bt| 国产精品久久久对白| 狠狠色丁香婷婷综合影院| 亚洲裸体视频| 久久久久国色av免费看影院| 亚洲国产成人精品久久久国产成人一区| 免播放器亚洲一区| 国产精品99久久久久久有的能看| 久久狠狠婷婷| 国产精品嫩草99av在线| 亚洲精品美女在线观看| 久久青青草综合| 亚洲视频精品| 欧美日韩精品福利| 亚洲欧洲一二三| 久久伊伊香蕉| 午夜日韩在线| 国产精品免费小视频| 在线一区二区三区四区| 欧美国产专区| 欧美中文字幕在线观看| 国产精品乱人伦一区二区 | 你懂的视频一区二区| 国产精品视频99| 亚洲视频综合| 亚洲精品一区二区三区99| 久久综合网络一区二区| 国产一区二区三区免费不卡| 亚洲欧美激情在线视频| 亚洲精品乱码久久久久久蜜桃麻豆| 久久成人av少妇免费| 国产女主播视频一区二区| 99国产精品久久久久久久成人热| 免费在线看一区| 久久午夜国产精品| 亚洲国产精品成人久久综合一区 | 香蕉久久久久久久av网站| 久久综合五月| 久久精品动漫| 一区二区视频在线观看| 鲁大师成人一区二区三区| 欧美一区二区视频观看视频| 国产精品欧美日韩| 亚洲欧美日韩成人| 中文网丁香综合网| 国产精品一区二区三区久久久| 亚洲天堂av在线免费观看| 日韩午夜激情av| 国产精品久久久久一区| 欧美在线播放一区| 久久久久久久999精品视频| 在线成人小视频| 欧美不卡一卡二卡免费版| 久久尤物视频| 日韩午夜三级在线| 正在播放亚洲| 国产视频久久久久| 欧美h视频在线| 欧美激情在线| 午夜欧美精品久久久久久久| 久久精品国产久精国产思思| 亚洲级视频在线观看免费1级| 亚洲精品乱码久久久久久黑人| 欧美午夜精彩| 久久综合色天天久久综合图片| 免费人成精品欧美精品| 亚洲图片欧美午夜| 欧美一二三区精品| 亚洲电影视频在线| av成人免费在线观看| 国产亚洲激情| 在线观看亚洲精品视频| 欧美黄在线观看| 欧美午夜久久| 狂野欧美性猛交xxxx巴西| 欧美视频中文字幕| 欧美成人免费观看| 国产精品va| 亚洲国产综合91精品麻豆| 国产精品一区二区三区久久| 免费中文日韩| 国产欧美日韩另类视频免费观看| 欧美高清在线| 国产欧美日韩伦理| 亚洲人体影院| 在线观看国产成人av片| 一区二区高清| 亚洲福利久久| 欧美在线三级| 亚洲欧美美女| 欧美视频你懂的| 美女网站在线免费欧美精品| 国产精品美女久久久久久免费 | 亚洲国产视频一区二区| 国产精品久久国产精品99gif | 欧美成人激情在线| 午夜精品久久久久久| 蜜桃视频一区| 久久综合伊人77777麻豆| 国产精品久久久久久久免费软件| 欧美成人免费小视频| 国产亚洲va综合人人澡精品| 亚洲婷婷国产精品电影人久久| 亚洲国产专区校园欧美| 久久国产夜色精品鲁鲁99| 欧美一区2区视频在线观看| 欧美区视频在线观看| 亚洲高清在线观看一区| 亚洲第一视频网站| 久久精品伊人| 久久蜜桃资源一区二区老牛| 国产精品影视天天线| 亚洲一区二区不卡免费| 中文在线资源观看网站视频免费不卡| 麻豆国产精品一区二区三区| 欧美成人精品影院| 亚洲国产精品成人综合| 另类国产ts人妖高潮视频| 欧美成人免费全部| 亚洲精品中文字幕有码专区| 欧美sm视频| 亚洲久色影视| 先锋影音久久久| 国内精品美女在线观看| 久久精品欧美日韩精品| 欧美xart系列在线观看| 亚洲欧洲午夜| 国产精品igao视频网网址不卡日韩| 99视频在线观看一区三区| 亚洲免费一在线| 国产有码一区二区| 久久婷婷麻豆| 日韩一二三区视频| 亚洲欧美一级二级三级| 红桃视频国产精品| 欧美激情精品久久久久久大尺度| 亚洲黄色成人久久久| 一本大道久久a久久精品综合| 国产精品v亚洲精品v日韩精品| 亚洲砖区区免费| 蜜臀99久久精品久久久久久软件 | 国产精品一区二区在线| 欧美一区二区三区免费大片| 久久综合九色综合久99| av成人国产| 国产亚洲成精品久久| 久久午夜精品一区二区| 一区二区日韩精品| 久久综合中文字幕| 日韩视频精品在线| 国产无一区二区| 欧美人与禽猛交乱配视频| 欧美在线不卡| 夜夜嗨av一区二区三区网页| 久久精品国产一区二区三区| 亚洲精品久久久久中文字幕欢迎你 | 欧美日韩免费一区二区三区视频| 亚洲男人的天堂在线观看| 国产精品成人免费| 久久综合色综合88| 亚洲一区二区三区涩| 伊人春色精品| 国产精品视频1区| 欧美精品久久久久久久免费观看| 亚洲主播在线播放| 亚洲精品字幕| 欧美福利在线| 久久综合婷婷| 亚洲欧美在线免费观看| 亚洲免费观看| 亚洲第一免费播放区| 国产亚洲激情| 国产九九视频一区二区三区| 欧美日韩在线不卡| 欧美精品一区三区| 美女露胸一区二区三区| 欧美一区精品|