軟件hook是什么

【軟件hook是什么】軟件HOOK即鉤子函數,鉤子函數是Windows消息處理機制的一部分,通過設置“鉤子” , 應用程序可以在系統級對所有消息、事件進行過濾 , 訪問在正常情況下無法訪問的消息 。
鉤子的本質是一段用以處理系統消息的程序,通過系統調用,把它掛入系統 。每當特定的消息發出,在沒有到達目的窗口前,鉤子程序就先捕獲該消息,亦即鉤子函數先得到控制權 。這時鉤子函數即可以加工處理(改變)該消息,也可以不作處理而繼續傳遞該消息,還可以強制結束消息的傳遞 。
HOOK技術在windows系統下編程,應該會接觸到api函數的使用,常用的api函數大概有2000個左右 。今天隨著控件,stl等高效編程技術的出現,api的使用概率在普通的用戶程序上就變得越來越小了 。當諸如控件這些現成的手段不能實現的功能時,我們還需要借助api 。