這篇文章主要介紹了windows鉤子實現(xiàn)參數(shù)有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
鉤子(Hook),是Windows消息處理機制的一個平臺,應用程序可以在上面設置子程以監(jiān)視指定窗口的某種消息,而且所監(jiān)視的窗口可以是其他進程所創(chuàng)建的。
windows鉤子是什么
當消息到達后,在目標窗口處理函數(shù)之前處理它。鉤子機制允許應用程序截獲處理window消息或特定事件。鉤子實際上是一個處理消息的程序段,通過系統(tǒng)調(diào)用,把它掛入系統(tǒng)。每當特定的消息發(fā)出,在沒有到達目的窗口前,鉤子程序就先捕獲該消息,亦即鉤子函數(shù)先得到控制權(quán)。這時鉤子函數(shù)即可以加工處理(改變)該消息,也可以不作處理而繼續(xù)傳遞該消息,還可以強制結(jié)束消息的傳遞。HookAPI是指Windows開放給程序員的編程接口,使得在用戶級別下可以對操作系統(tǒng)進行控制,也就是一般的應用程序都需要調(diào)用API來完成某些功能,HookAPI的意思就是在這些應用程序調(diào)用真正的系統(tǒng)API前可以先被截獲,從而進行一些處理再調(diào)用真正的API來完成功能。
其實Windows系統(tǒng)是建立在事件驅(qū)動的機制上的,說穿了就是整個系統(tǒng)都是通過消息的傳遞來實現(xiàn)的。而鉤子是Windows系統(tǒng)中非常重要的系統(tǒng)接口,用它可以截獲并處理送給其他應用程序的消息,來完成普通應用程序難以實現(xiàn)的功能。
可見,利用鉤子可以實現(xiàn)許多特殊而有用的功能。因此,對于高級編程人員來說,掌握鉤子的編程方法是很有必要的。
鉤子的種類很多,每種鉤子可以截獲并處理相應的消息,如鍵盤鉤子可以截獲鍵盤消息,外殼鉤子可以截取、啟動和關(guān)閉應用程序的消息等。
在實例程序中運用WH_GETMESSAGE鉤子,這個鉤子監(jiān)視投遞到消息隊列中的Windows消息。
鉤子可以分為線程鉤子和系統(tǒng)鉤子,線程鉤子監(jiān)視指定線程的事件消息,系統(tǒng)鉤子監(jiān)視系統(tǒng)中的所有線程的事件消息。因為系統(tǒng)鉤子會影響系統(tǒng)中所有的應用程序,所以鉤子函數(shù)必須放在獨立的動態(tài)鏈接庫(DLL)中。
實現(xiàn)windows鉤子機制的幾個關(guān)鍵技術(shù)
windows的鉤子程序,需要用到幾個sdk中的api函數(shù)。下面列出這幾個函數(shù)的原型及說明:
hhooksetwindowshookex(intidhook,hook_proclpfn,hinstancehmod,dworddwthreadid);
參數(shù)說明如下:
idhook:鉤子的類型
lpfn:鉤子處理函數(shù)地址
hmod:包含鉤子函數(shù)的模塊句柄
dwthreadid:鉤子的監(jiān)控線程
函數(shù)說明:函數(shù)將在系統(tǒng)中掛上一個由idhook指定類型的鉤子,監(jiān)控并處理相應的特定消息。
boolunhookwindowshookex(hhookhhk);
函數(shù)說明:函數(shù)將撤銷由hhk指定的鉤子。
lresultcallnexthookex(hhookhhk,intncode,wparamwparam,lparamlparam);
函數(shù)說明:函數(shù)將消息向下傳遞,下一個鉤子處理將截獲這一消息。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“windows鉤子實現(xiàn)參數(shù)有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!
當前題目:windows鉤子實現(xiàn)參數(shù)有哪些-創(chuàng)新互聯(lián)
當前鏈接:http://www.chinadenli.net/article6/ijcig.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站設計公司、品牌網(wǎng)站設計、定制開發(fā)、做網(wǎng)站、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容